我在.bat文件中尝试了以下代码来计算目录中的文件数:
for /f %%a in ('dir /A-D /B /S | find /C /V ""') do set FILECOUNT=%%a
echo %FILECOUNT%
pause
然而,它不起作用,甚至没有暂停。它反而闪现了“:此时出乎意料”的东西。 如果我只是写
dir /A-D /B /S | find /C /V ""
pause
它工作正常并显示文件数,但我想将此数字保存到变量中。我做错了什么?
答案 0 :(得分:4)
你需要逃避管道,所以
@echo off
for /f %%a in ('dir /A-D /B /S ^| find /C /V ""') do set FILECOUNT=%%a
echo %FILECOUNT%
pause