批处理文件:删除文件夹中超过 10 天的所有文本文件,但某些文本文件除外



我是批处理文件的新手,试图编写一个将删除超过 10 天前的文件夹中所有.txt文件的文件,除了一个名为 template.txt 的文件。这是怎么做到的? 我有以下内容,但它会在 10 天内删除所有 txt 文件。 感谢您的帮助。

forfiles /p "C:test" /s /m *.txt /c "cmd /c del @path" /d -10
只需将

连续性实现到 forfiles 运行的命令行中,如下所示:

forfiles /S /P "C:test" /M "*.txt" /D -10 /C "cmd /C if @isdir==FALSE if /I not @file==0x22template.txt0x22 del @path"

if @isdir==FALSE部分是排除任何目录的进一步处理,以防某些目录的名称末尾带有.txt(尽管不太可能),因为forfiles枚举文件和目录。

if /I not @file==0x22template.txt0x22将变为if /I not "<name of currently iterated item>"=="template.txt",并排除名为 template.txt 的文件。/I选项使比较不区分大小写,就像 Windows 也处理文件和目录路径一样。