我想从文件夹结构中删除所有文件,所以我留下了一个空的文件夹结构。
这可以通过批处理或VBScript脚本来实现吗?
我尝试过一个非常基本的批处理命令,但这要求用户允许删除每个文件。这不是一个合适的解决方案,因为有数百个文件,这将随着时间的推移而大量增加。
你能提出什么建议?
我想从文件夹结构中删除所有文件,所以我留下了一个空的文件夹结构。
这可以通过批处理或VBScript脚本来实现吗?
我尝试过一个非常基本的批处理命令,但这要求用户允许删除每个文件。这不是一个合适的解决方案,因为有数百个文件,这将随着时间的推移而大量增加。
你能提出什么建议?
Answers:
这可以使用PowerShell完成:
Get-ChildItem -Path C:\Temp -Include *.* -File -Recurse | foreach { $_.Delete()}
此命令获取每个子项,在每个子项上$path
执行delete方法,并且非常快。文件夹结构保持不变。
如果您的文件没有扩展名,请使用
Get-ChildItem -Path C:\Temp -Include * -File -Recurse | foreach { $_.Delete()}
代替。
看起来-File
参数可能是在PowerShell v2之后添加的。如果是这样,那么
Get-ChildItem -Path C:\Temp -Include *.* -Recurse | foreach { $_.Delete()}
它应该对具有扩展名的文件起作用。
如果它不起作用,请检查您是否拥有最新版本的Powershell
-Include *.*
不-Include .
,大的区别!:-)
-Include .
?这就是问题所在。
您可以使用del
命令执行此操作:
dir C:\folder
del /S *
该/S
开关是递归删除文件。
/P
选项,这样它会要求您确认每次删除只是为了检查。
attrib -s -r -h Folder\*.* /s /d
在删除之前执行。对于权限使用takeown
命令。
在原始问题的行之间阅读我可以提供您可以使用的替代BATCH代码行。运行时只会删除超过60天的文件。通过这种方式,您可以将其置于计划任务中,并在运行时删除您不需要的多余文件,而不是将整个目录吹走。如果您愿意,可以更改60到5天甚至1天。这不会删除文件夹。
forfiles -p "c:\path\to\files" -d -60 -c "cmd /c del /f /q @path"
使用PowerShell删除单个文件或文件夹。在powershell中执行Delete命令之前,我们需要确保您使用可以完全访问要删除的对象的帐户登录到服务器或PC。
例如: http ://dotnet-helpers.com/powershell-demo/how-to-delete-a-folder-or-file-using-powershell/
Remove-Item -Path“C:\ dotnet-helpers \ DummyfiletoDelete.txt”
上面的命令将执行并删除“C:\ dotnet-helpers”位置内的“DummyfiletoDelete.txt”文件。
Remove-Item -Path“C:\ dotnet-helpers *。*”
Remove-Item -Path“C:\ dotnet-helpers *。*” - recurse
-recurse
向下钻取并找到更多文件。该–recurse
参数将允许PowerShell删除任何子项而无需请求权限。此外,可以添加-force参数以删除隐藏或只读文件。
使用-Force命令强制删除文件
Remove-Item -Path“C:\ dotnet-helpers *。*” - Force
rd /s /q "c:\folder a
将执行中的所有文件和文件夹递归删除Folder A