0
我有一個小批處理作業需要根據某些通配符參數刪除文件夾中的文件。刪除功能的作品,但我也需要記錄在一個單獨的日誌文件中刪除的文件。 我所有的程序都會循環使用通配符變量,並在運行del命令之前將它們組合在一起。 但我如何列出所有將被刪除的文件?Windows批處理 - 基於通配符列出文件
這裏是我的批處理程序:
set source[0]="C:\WORK\1\"
set source[1]="C:\WORK\2\"
set source[2]="C:\WORK\3\"
set NameStart[0]="e3"
set NameStart[1]="e4"
set NameMid[0]=*
set NameMid[1]=
set NameEnd[0]=".gz"
set NameEnd[1]=*
date /T >log.txt
time /T >>log.txt
echo Delete commands to be executed : >> log.txt
echo Delete commands to be executed :
Pause
::loop folders
echo Delete Started...
for /F "tokens=2 delims==" %%s in ('set source[') do (
::loop files
for /f "tokens=2 delims==" %%b in ('set NameStart[') do (
for /f "tokens=2 delims==" %%m in ('set NameMid[') do (
for /f "tokens=2 delims==" %%e in ('set NameEnd[') do (
del %%s%%b*%%m*%%e 2> nul
echo del %%s%%b*%%m*%%e >> log.txt
)
)
)
)
echo Delete Finished!
Pause
我被要求創建一個帶有參數的批處理文件,以便用戶可以輸入要刪除的地方和內容,這就是爲什麼我擁有所有這些for循環。 我發現當我使用del和通配符的問題是,當它找不到我需要避免的匹配時發生File Not found錯誤 – user2642775