Batch file 批处理文件以删除Windows 7中超过10天的文件夹
我想创建一个批处理文件,该文件应使用Windows 7删除文件夹中超过10天的所有子文件夹 任何帮助都将不胜感激。改编自: 您应该在Batch file 批处理文件以删除Windows 7中超过10天的文件夹,batch-file,Batch File,我想创建一个批处理文件,该文件应使用Windows 7删除文件夹中超过10天的所有子文件夹 任何帮助都将不胜感激。改编自: 您应该在d:\study文件夹中运行此命令。它将删除所有超过10天的子文件夹 rd之后的/S/Q使其删除文件夹,即使文件夹不是空的,也不会提示 我建议您将上述命令放入.bat文件中,并将其另存为d:\study\cleanup.bat如果您想将其与参数一起使用(即删除给定目录下的所有子目录),然后将这两行放入*.bat或*.cmd文件中: @echo off for /f
d:\study
文件夹中运行此命令。它将删除所有超过10天的子文件夹
rd
之后的/S/Q
使其删除文件夹,即使文件夹不是空的,也不会提示
我建议您将上述命令放入.bat文件中,并将其另存为
d:\study\cleanup.bat
如果您想将其与参数一起使用(即删除给定目录下的所有子目录),然后将这两行放入*.bat或*.cmd文件中:
@echo off
for /f "delims=" %%d in ('dir %1 /s /b /ad ^| sort /r') do rd "%%d" 2>nul && echo rmdir %%d
并将脚本路径添加到path环境变量中。在这种情况下,您可以从任何位置调用批处理文件(我认为UNC路径也应该起作用)
例如:
(如果需要,可以使用引号)
将删除c:\temp文件夹下的所有空子文件夹
YourBatchFileName
将删除当前目录下的所有空子目录
FORFILES/S/D-10/C“cmd/C IF@isdir==TRUE rd/S/Q@path”
我无法让Blorgbeard的建议发挥作用,但我能够让它与RMDIR而不是RD一起发挥作用:
对于文件/p N:\test/S/D-10/C“cmd/C IF@isdir==TRUE RMDIR/S/Q@path”
由于RMDIR不会删除不是空的文件夹,因此我也使用此代码删除了超过10天的文件,然后删除了超过10天的文件夹
对于/d%%K in(“n:\test*”)执行(
对于/d%%J in(“%K*”)DO(
FORFILES/p%%J/S/M./D-10/C“cmd/C del@file”
)
)
对于文件/p N:\test/S/D-10/C“cmd/C IF@isdir==TRUE RMDIR/S/Q@path”
我使用此代码清除测试中文件夹中的子文件夹(示例n:\test\abc\123在为空时将被清除,但n:\test\abc不会被清除请澄清:是否要删除所有超过10天的文件夹,或者删除一个超过10天的文件夹..?删除所有超过10天的文件夹,例如:D:/test下超过10天的文件夹应被删除而不是新创建的。@nilesh的可能重复项,我认为您应该特别尝试,因为您在Win7上,因此有可用的
forfiles
。我尝试了这个forfiles/S/D-10/C“cmd/C,如果@isdir==TRUE rd D:\Study”,但下面出现错误“目录不为空”在我给出的路径中,D:/Study and Study folder包含许多我想从中删除的文件夹,这些文件夹已超过10天。请帮助…我使用了此命令,文件夹已被删除。但我收到一个错误:错误:系统找不到指定的文件。我需要退出,错误为\u level=0我认为您不需要FORFILES/S选项子目录的删除将通过rd/S选项进行。
YourBatchFileName c:\temp
YourBatchFileName