6
我想建立一个通用的批处理文件,可以告诉错误的行号,错误发生在哪里。
但是在代码中写入每行号码有点烦人。如何获取当前行号?
批处理文件运行时,是否可以获取当前行号?
以便下面的代码可以工作?
@echo off
call :doSomething 1
if %errorlevel% GTR 0 (
REM Do something magic, to retrieve the lineNo
call :getCurrentLineNo currentLineNo
echo Error near %currentLineNo%
)
call :doSomething 2
if %errorlevel% GTR 0 (
call :getCurrentLineNo currentLineNo
echo Error near %currentLineNo%
)
+1,喜杰布,我只注意到这个岗位,非常酷的:-)你或许应该改变你的FINDSTR搜索使用'/ N/C:在两侧的 “%〜2”'(空间ID)以及ID从不包含空格的约定。你不希望“abc123”匹配“zabc1234”。/C选项还可以防止像“A.1”这样的东西被解释为正则表达式。此外,ID不应该包含反斜杠以避免FINDSTR出现转义问题,否则请用代码中的\\搜索并替换\。 – dbenham 2012-08-09 19:59:49