2013-03-10 111 views
0

我想弄清楚一個win命令行來刪除不包含* .nes並將輸出重定向到日誌文件的所有子文件夾。批處理腳本:刪除不包含特定的子文件夾

+3

不包含\ *。nes *其中*?在文件夾名稱?文件夾內的文件名?如果文件夾包含子文件夾,會發生什麼情況? – 2013-03-10 19:21:48

回答

0

這將刪除批處理腳本所在的文件夾中沒有以.nes結尾的文件(甚至在子文件夾中的任何位置)的任何子文件夾。要小心這個腳本,如果你不小心測試的話,這個腳本不能輕易撤消。運行時不警告。

@echo off 
:: do not use if you don't know 
:: what you are doing! 
:: 
:: this file deletes all subfolders 
:: without files with *.nes in them 
:: WARNING: use with extreme care! 



echo --- cleanup on %date% %time:~0,-3%% --- >> removed.log 

for /D %%i in (*) do (
    dir /b /s ".\%%i\*.nes" >NUL 2>NUL 
    if errorlevel 1 (:: dir sets errorlevel 1 if no file is found 
     rmdir /q /s "%%i" 
     echo. removed %%i >> removed.log 
    ) 

    set errorlevel=0 
) 

echo. >> removed.log 
相關問題