批处理文件,用于删除Windows 7中超过10天的文件夹

nil*_*esh 26 batch-file

我想创建一个批处理文件,该文件应使用Windows 7删除超过10天的文件夹的所有子文件夹

任何帮助,将不胜感激.

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 /Qrd使其删除文件夹,即使他们不为空,但不提示.

我建议你将上面的命令放到.bat文件中,并保存为d:\study\cleanup.bat.

  • 我不认为你需要FORFILES/S选项,因为子目录删除将通过rd/S选项. (3认同)

小智 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将不会被清除