首先:我对批处理完全不熟悉。
我想编写一个批处理文件,可以删除5天或更早的文件和文件夹。这段代码对所有文件都起作用:
FORFILES /p "C:\Users\rs\Desktop\testbatch" /s /m *.* /d -5 /c "cmd /c if not @isdir==TRUE del @path"
我的文件夹还在,但我不知道如何删除它们,即使它们已经存在了至少5天。有人可以给我一个提示吗?
谢谢
首先:我对批处理完全不熟悉。
我想编写一个批处理文件,可以删除5天或更早的文件和文件夹。这段代码对所有文件都起作用:
FORFILES /p "C:\Users\rs\Desktop\testbatch" /s /m *.* /d -5 /c "cmd /c if not @isdir==TRUE del @path"
我的文件夹还在,但我不知道如何删除它们,即使它们已经存在了至少5天。有人可以给我一个提示吗?
谢谢
del
命令用于删除文件,而需要使用rmdir
命令来删除目录。
rmdir
是指 rd
吗?如果我写 rmdir
或者 rd
有什么区别吗? - roemelrmdir
增加了可读性(在我看来),以便理解您正在删除目录,尽管与 mkdir
和 md
一样。 - mavrosxristoforosif not @isdir==TRUE rd /s /q @path
而不是if not @isdir==TRUE del @path
。这应该是正确的,对吗?但它似乎不起作用,因为文件夹仍然存在(为了测试,我将/d -0
添加到文件中)。 - roemel*.*
改成 *
。你不是在寻找文件。 - mavrosxristoforosFORFILES /p "C:\Users\rs\Desktop\testbatch" /s /m *.* /d -5 /c "cmd /c if @isdir==TRUE rd /s /q @path "
/s
命令用于 rd
,如果你输入 rd /?
则表示“删除指定目录中的所有目录和文件以及目录本身。用于删除目录树。” - mavrosxristoforos/d -0
来测试它,但我的文件夹仍然在这里。 - roemel