计算来自dat文件的行数,并使用批处理脚本相应地退出

时间:2018-01-10 14:28:07

标签: batch-file scripting

我是批处理脚本的新手。 我需要计算一个dat文件中的行数,如果count小于或等于2,则应该抛出失败。如果count为3或更大,则脚本应该返回成功。

我尝试了下面的代码,但提示没有按预期响应。

findstr /R /N "^" filename.DAT | find /C":" > test.txt
SET /p count=<test.txt
 IF %count% leq "2" 
(exit 1)
else (exit 0)
pause

1 个答案:

答案 0 :(得分:4)

使用引号强制if来比较字符串。所以它将字符串2与字符串"2"进行比较 - 显然不匹配...使用更好的方法(没有临时文件):

for /f %%a in ('^<filename.dat find /v /c ""') do set /a count=%%a
if %count% leq 2 (exit 1) else (exit 0)

注意:当您尝试使用if "%count%" leq "2"时,请记住,您正在比较字符串。因此100 低于而不是2