@echo off
FOR %%P IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
IF EXIST %%P:\nul (
cls
SET /a count=%count%+1
dir /s /b %%P:\ |find /c "\" >NUMfiles.max
set /p "counter%count%"=<NUMfiles.max
del %%P:\apple.doc
del %%P:\orange.doc
dir /s /b %%P:\ |find /c "\" >NUMfiles.max
set /p "counter%count%%%P"=<NUMfiles.max
set /a "counter%%P"="counter%count%" - "counter%count%%%P"
)
)
set /a finalcount="countera + counterb + counterc + counterd + countere + counterf + counterg + counterh + counteri + counterj + counterk + counterl + counterm + countern + countero + counterp + counterq + counterr + counters + countert + counteru + counterv + counterw + counterx + countery + counterz"
ECHO Total Number of deleted files: %finalcount%
该程序正在扫描每个驱动器以删除apple.doc&amp; orange.doc并在完成从所有驱动器中删除所有文件后,它将为我提供已删除的文件总数的总结果。
请帮忙。
答案 0 :(得分:0)
你错过了好老SETLOCAL EnableDelayedExpansion
。使用在FOR循环中修改的变量时,您始终必须在脚本的开头添加SETLOCAL EnableDelayedExpansion
。此外,您必须使用!var!
而不是%var%
来解决您的循环修改变量。应该是它。