使用下面的代码我可以计算目录中的文件数,如果目录中的文件数等于(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
答案 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