我有這樣的命令,通過目錄中的所有文件夾中去,並刪除所有的人,除了一個:批處理命令「列表中包含」操作
FOR /D %i IN ("Directory\*") DO IF /I NOT "%i" == "FolderToKeep" RD /S/Q "%i"
現在我需要它來保持,而不是兩個特定的文件夾只有一個。起初,我認爲這只是爲了比較而添加一些簡單的OR邏輯,但似乎該批處理不支持像OR和AND這樣的邏輯運算符。那麼實現這個目標的最好方法是什麼?如果OR命令不存在,也許有可以讓你測試變量是否包含在列表中的功能?這樣的事情可能嗎?
FOR /D %i IN ("Directory\*") DO IF /I NOT "%i" IN "FolderToKeep","FolderToKeep2" RD /S/Q "%i"
我不熟悉批處理編碼,所以請原諒,如果這看起來微不足道。
+1:很好但不是很明顯 – jeb
@Endoro:你打了我幾分鐘! :-) – Aacini
+1,但您應該使用'%〜NXi',因爲文件夾名稱可能包含擴展名。此外,如果文件夾名稱包含「=」,則該技術失敗。 – dbenham