如果列表文件包含多于一行的数据,如何强制批处理脚本以失败告终?
In BASH, I would try this -
...
...
rowcnt=$(wc -l $HOME/files/mytestfile.txt)
if [ $rowcnt -gt 1 ]; then
exit 1
fi
...
...
我能够在DOS脚本编写方面取得一些进展,但还不是很多。
当直接在操作系统提示符下运行时,以下命令将返回 3 -
C:\> type myalias.bat|find /v /c ""
我使用以下代码创建了脚本 test4rowcnt.bat -
@echo off
echo before
set rowcnt=type myalias.bat|find /v /c ""
echo after
echo %rowcnt%
if %rowcnt% gtr 1 (
echo More files
exit /b 1
) else (
echo all ok
)
上面的脚本返回了以下内容-
C:\Users\SJ> test4rowcnt.bat
before
0
after
1
myalias.bat was unexpected at this time.
C:\Users\SJ> echo %errorlevel%
0
我在批处理脚本中添加了一些其他的ECHO,可以将其忽略。