使用批处理文件计算文件

时间:2016-02-02 23:37:08

标签: windows batch-file cmd

我在.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

它工作正常并显示文件数,但我想将此数字保存到变量中。我做错了什么?

1 个答案:

答案 0 :(得分:4)

你需要逃避管道,所以

@echo off
for /f %%a in ('dir /A-D /B /S ^| find /C /V ""') do set FILECOUNT=%%a
echo %FILECOUNT%
pause