我正在编写批处理文件以删除C:\users
目录中一组计算机上的用户文件夹。在计算目录中有多少个文件夹之后,我会在删除空闲用户文件夹和关联的注册表项之前保留管理员文件夹。我的问题是删除文件夹后,我需要做一些数学运算,因此我可以从找到的总数中扣除保留的管理文件夹,这样我就可以跟踪实际删除的报告数量。我的代码的数学部分如下所示:
:FOLDERCOUNT
set cnt=0
For /D %%a in (C:\users\*.* /a d) do set /a cnt+=1
echo Cleanup found = %cnt% Folders,~!
GOTO USERPRESERVE
FOLDERCOUNT2
set pcnt=0
For /D %%a in (C:\users\*.* /a d) do set /a cnt+=1
echo Cleanup preserved = %pcnt% Folders,~!
GOTO SUM
:SUM
set a=%cnt%
set b=%pcnt%
set c=%rcnt%
set /a c=a-b
echo Cleanup removed = %rcnt% Folders,~!
GOTO :EOF
注意:%cnt%
是找到的文件夹总数,%pcnt%
是保留的文件夹总数,%rcnt%是已移除的文件夹总数。
我似乎无法按预期运作。你们可以提供更正或更简单的代码吗?