【发布时间】:2016-02-04 17:43:41
【问题描述】:
我有一个小批量作业,需要根据一些通配符参数删除文件夹中的文件。删除功能有效,但我还需要在单独的日志文件中记录被删除的文件。 我的程序所做的就是循环通配符变量并将它们组合在一起,然后再运行 del 命令。 但是我怎样才能列出所有将被删除的文件呢?
这是我的批处理程序:
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
【问题讨论】:
标签: loops batch-file window