繁体   English   中英

批处理文件,删除文件夹中所有已存在10天以上的所有文本文件(某些文件除外)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM