Blo*_*ard 47
从这个答案改编成一个非常相似的问题:
FORFILES /S /D -10 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"
Run Code Online (Sandbox Code Playgroud)
您应该从您的d:\study文件夹中运行此命令.它将删除所有超过10天的子文件夹.
在/S /Q后rd使其删除文件夹,即使他们不为空,但不提示.
我建议你将上面的命令放到.bat文件中,并保存为d:\study\cleanup.bat.
小智 10
FORFILES/S/D -10/C"cmd/c IF @isdir == TRUE rd/S/Q @path"
我无法得到Blorgbeard的建议,但我能够使用RMDIR而不是RD:
FORFILES/p N:\ test/S/D -10/C"cmd/c IF @isdir == TRUE RMDIR/S/Q @path"
由于RMDIR不会删除非空文件夹,因此我最终也使用此代码删除超过10天的文件,然后删除超过10天的文件夹.
FOR/d %% K in("n:\ test*")DO(
FOR/d %% J in("%% K*")DO(
FORFILES/P %%焦耳/ S/M ./ D -10/C"cmd/c del @file"
)
)
FORFILES/p N:\ test/S/D -10/C"cmd/c IF @isdir == TRUE RMDIR/S/Q @path"
我使用此代码清除测试中的文件夹中的子文件夹(示例n:\ test\abc\123将在清空时被清除,但n:\ test\abc将不会被清除