[英]Batch file to delete all text files in a folder over 10 days old except certain ones
我是批处理文件的新手,尝试编写一个将删除文件夹中已存在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"
, if /I not "<name of currently iterated item>"=="template.txt"
名为template.txt
文件删除。 /I
选项使比较不区分大小写,就像Windows也对待文件和目录路径一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.