我尝试编写一个通用的批处理文件,可以告诉我错误发生的行号,而无需在代码中编写每个行号,这样有点烦人。
在批处理文件运行时获取当前行号是否可能?
这样以下代码就可以工作了吗?
@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%
)
/n /c:" %~2 "
(ID两侧有空格),并遵循ID永远不包含空格的约定。您不希望"abc123"与"zabc1234"匹配。 /C选项还可以防止"A.1"被解释为正则表达式。此外,为避免在FINDSTR中出现转义问题,请勿在ID中包含反斜杠,或者在代码中搜索和替换\为\。 - dbenham%RANDOM%
来动态生成唯一ID? - Glenn Slayden