2017-01-27 138 views
0

我是新來的批處理文件,試圖寫一個將刪除所有.txt文件超過10天的文件夾中除了一個叫模板。文本。這是如何完成的?我有下面的內容,但它會在10天內刪除所有txt文件。感謝你的幫助。批處理文件刪除所有文本文件的文件夾中超過10天,除了某幾個

forfiles /p "C:\test" /s /m *.txt /c "cmd /c del @path" /d -10 
+0

'ATTRIB + R template.txt'之前和'ATTRIB-template.txt'後。將文件設置爲只讀可防止刪除文件。 – Stephan

+2

'FORFILES/P 「C:\測試」/ S/M * .TXT/C 「CMD/C如果/ I不@文件== 0x22template.txt0x22德爾@path」/ d -10' – Squashman

+0

@Squashman即沒」 t工作,刪除template.txt文件 – CoderRightInTheProgram

回答

1

只需實現contition到由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一樣處理文件和目錄路徑。

相關問題