2014-04-15 12:40:31 +0000 2014-04-15 12:40:31 +0000
57
57
Advertisement

删除一个文件夹及其子文件夹中的所有文件。

Advertisement

我想从一个文件夹结构中删除所有文件,所以我留下了一个空的文件夹结构。

可以用批处理或VBScript脚本实现吗?

我试过一个非常基本的批处理命令,但这需要用户允许删除每个文件。这不是一个合适的解决方案,因为有许多数百个文件,而且随着时间的推移会大量增加。

你有什么建议?

Advertisement
Advertisement

答案 (13)

81
81
81
2014-04-15 13:18:38 +0000

这可以用PowerShell

Get-ChildItem -Path C:\Temp -Include *.* -File -Recurse | foreach { $_.Delete()}

这个命令可以得到$path中的每一个子项,并对每一个子项执行删除方法,速度相当快。

29
29
29
2017-11-02 17:21:27 +0000

短小精悍,套用PowerShell。不知道它能用什么最低的PS版本。

Remove-Item c:\Tmp\* -Recurse -Force
22
Advertisement
22
22
2014-04-15 12:44:30 +0000
Advertisement

可以通过del命令来实现:

dir C:\folder
del /S *

&001

/S的开关是只递归删除文件。

4
4
4
2014-04-15 13:18:19 +0000

在阅读你最初的问题时,我可以提供一个替代的BATCH代码行,你可以使用。当运行时,它的作用是只删除超过60天的文件。这样,你可以把它放在一个计划任务中,当它运行时,会删除多余的文件,而不是把整个目录中的文件都删除掉。如果你想的话,你可以把60天改为5天,甚至1天。这不会删除文件夹。

forfiles -p "c:\path\to\files" -d -60 -c "cmd /c del /f /q @path"
4
Advertisement
4
4
2014-10-28 15:39:38 +0000
Advertisement

使用PowerShell:

Get-ChildItem -Path c:\temp -Include * | remove-Item -recurse
3
3
3
2018-05-10 07:13:40 +0000

使用PowerShell删除单个文件或文件夹。在执行PowerShell中的Delete命令之前,我们需要确认你已经登录到服务器或电脑上,并且有一个可以完全访问你要删除的对象。 txt" 上面的命令将执行并删除 “DummyfiletoDelete.txt "文件,该文件存在于 "C:\dotnet-helpers "位置。 # 使用PowerShell commnads删除所有文件和文件夹 > Remove-Item -Path "C:dotnet-helpers.” -recurse

钻研下去,找到更多的文件。-recurse参数将允许PowerShell在不要求权限的情况下删除任何子项。此外,还可以添加-force参数来删除隐藏的或只读的文件。

1
Advertisement
1
1
2014-11-20 21:28:24 +0000
Advertisement

用PowerShell试试这个方法。在这个例子中,我想删除所有的.class文件:

Get-ChildItem '.\FOLDERNAME' -include *.class -recurse | foreach ($_) {remove-item $_.FullName}
1
1
1
2015-05-18 11:30:46 +0000

删除当前目录和子目录中的所有文件,但保留文件夹结构。

(/Q)开关是用来询问用户是否可以删除

注意*:不删除/Q的情况下,请尝试一下,以确保你没有删除任何珍贵的东西。

1
Advertisement
1
1
2016-10-12 20:45:27 +0000
Advertisement

这是最简单的方法

打开PowerShell,导航到目录(cd),THEN

ls -Recurse * | rm

(Poof)一切都没有了…..

如果要删除基于特定的扩展名

ls -Recurse *.docx | rm

ls是列出目录

-Recurse是一个标志,告诉powershell要进入任何子目录

*说的是一切

*.doc的一切都是带.doc扩展名的。 doc 扩展

| 从左边的输出到右边的输出

rm 删除

所有其他的答案似乎都让人更加困惑。

1
1
1
2015-03-16 09:12:32 +0000
  1. 在Windows资源管理器中选择包含所有文件和文件夹的根目录。搜索*

  2. 按类型排序(所有的文件夹都会在最上面,所有的文件都在下面)

  3. 选择所有的文件,然后按Delete键。

0
0
0
2020-03-01 06:34:32 +0000

我们可以通过下面的命令删除文件夹中的所有文件及其子文件夹。

0
0
0
2020-02-04 17:43:55 +0000

使用Powershell 5.1:


$extensions_list = Get-ChildItem -Path 'C:\folder_path 

* * * * * * * * 


它删除了所有不是目录的Itens. -Recurse

foreach ( $extension in $extensions_list) {

    if ($extension.Attributes -notlike "Directory") {

        Remove-Item $extension.FullName  
    }
}

它删除了所有不是目录的Itens.

-1
-1
-1
2018-10-14 14:59:48 +0000

作为上述答案的补充,实际上不需要使用Get-Childitem并将结果传递给流水线,因为在Remove-Item命令中包含了-Include关键字,只需:

Remove-Item -Include “.” “C:\Temp” -Recurse

Advertisement

相关问题

3
19
10
28
2
Advertisement
Advertisement