我需要一个批处理文件,用于在子目录中计算特定的文件类型。在这个案例中,它是 .txt 和 .xls 文件。在文件结尾处,它会将结果返回。
@echo off
REM get script directory
set scriptdir=%~dp0
REM change directory to script directory
cd /d %scriptdir%
setlocal
set txtcount=0
set xlscount=0
for %%x in ('dir *.txt /s ) do set /a txtcount+=1
for %%x in ('dir *.xls /s ) do set /a xlscount+=1
echo %txtcount% text files
echo %xlscount% .xls files
endlocal
pause
我的批处理文件没有正确报告文件数量。我认为它可能一直在计数,但是我已将计数变量设置为本地变量,所以我不确定问题出在哪里。
for
循环内部并没有按照您想象的那样运行:它正在运行'dir
,当前目录中的每个文本文件和/s
。您可能会发现for /r %%x in (*.txt) do...
更好地工作。 - TripeHound