Windows
del *.txt 也刪除 file.txt_backup
假設我們有
c:\test
包含以下文件的目錄:first.txt second.doc third.txt fourth.txt_bak
我只想刪除
txt
文件,但doc
保持txtwhatever
不變。當我執行 command
del c:\test\*.txt
時,它會刪除除第二個文件之外的所有內容。有什麼想法可以解決這個問題以僅刪除
txt
文件嗎?編輯:我不知道客戶將如何命名他們的文件。後綴可以是任何東西,不僅僅是
txt_something
. 也可以是txtsomething
,txt-something
, 等等…我也不能在伺服器上安裝任何二進製文件,我只能使用預設的。
也許你可以使用forfiles命令:
forfiles /p "c:\test" /m "*.txt" /c "cmd /c del @file"
基於 fquinto 的想法,但更健壯:
mkdir FilesToSave.AEEC869E-A480-4459-84AE-B20D47A967BC move *.txt?* FilesToSave.AEEC869E-A480-4459-84AE-B20D47A967BC del *.txt move FilesToSave.AEEC869E-A480-4459-84AE-B20D47A967BC\*.* . rmdir FilesToSave.AEEC869E-A480-4459-84AE-B20D47A967BC
*.txt?*
萬用字元將所有以 *.txt 開頭的副檔名超過 3 個字元的文件移動到臨時目錄。這些是 8.3 名稱以 .txt 結尾的文件。因此,在第 3 行中,您只刪除了真正副檔名為 .txt 的文件,而在第 4 行中,您恢復了可能被意外刪除的文件。GUID 用於使臨時目錄獨一無二。