计算目录文件然后测试数值

时间:2017-11-16 05:56:48

标签: batch-file

使用下面的代码我可以计算目录中的文件数,如果目录中的文件数等于(EQU或==),则调用另一个批处理文件 当我使用LSS时,我遇到了一些问题。结果是有问题的,我得到意想不到的结果取决于目录中的文件数量或LSS的值 例如,如果我的目录中有9个文件而LSS设置为15,那么call命令不起作用。 有没有办法解决这个可能的数字Vs字符串问题。我也尝试使用“”围绕数字,但仍然没有运气。任何帮助将不胜感激

@ECHO OFF

SETLOCAL 
SETLOCAL ENABLEDELAYEDEXPANSION

SET count=0 
for %%o IN (C:\test1\*.*) DO ( 
      echo %%o 
      SET /A count=count + 1 
)

echo %count%

IF %count% LSS 20 call RunAll.bat

ENDLOCAL ENABLEDELAYEDEXPANSION 
ENDLOCAL

1 个答案:

答案 0 :(得分:0)

setlocal enabledelayedexpansion但你没有使用它的功能。将if用双引号或方括号括起来更有意义。

最后,无需拨打RunAll.bat就可以不通电话。

@echo off
setlocal enabledelayedexpansion
set count=0 
for %%o in (F:\CSV\*) do ( 
      echo %%o
      set /A count=count + 1 
)
echo !count!
if "!count!" LSS "20" RunAll.bat
endlocal enabledelayedexpansion