有人知道什么是相当于$?
在Windows命令行? 有没有?
编辑: $?
是保存最后一个进程的退出代码的UNIXvariables
你想检查%ERRORLEVEL%
的值。
%ERRORLEVEL%返回最近使用的命令的错误代码。 非零值通常表示错误。
http://technet.microsoft.com/en-us/library/bb490954.aspx
$? 如果上次操作成功则包含True,否则包含False。 和
$ LASTEXITCODE包含最后一个Win32可执行文件执行的退出代码。
http://blogs.msdn.com/powershell/archive/2006/09/15/ErrorLevel-equivalent.aspx
$? 扩展到最近执行的前台程序的退出状态代码。
对不起,疏通一个旧的线程,但值得注意的是,%ERRORLEVEL%不会被每个命令重置。 在几行后续的和成功的批处理代码之后,仍然可以测试errorlevel的“positive”。
您可以可靠地将错误级别重置为ver
。 这个例子适用于UnxUtils,用于更多Linux-ish目录列表。 重置可能看起来是无关的,但不是如果我需要从另一个调用这个脚本。
:------------------------------------------------------------------------------ : ll.bat - batch doing its best to emulate UNIX : Using UnxUtils when available, it's nearly unix. :------------------------------------------------------------------------------ : ll.bat - long list: batch doing its best to emulate UNIX : ------------------------------------ : zedmelon, designer, 2005 | freeware :------------------------------------------------------------------------------ @echo off setlocal : use the UnxUtil ls.exe if it is in the path ls.exe -laF %1 2>nul if errorlevel 1 ( echo. echo ----- ls, DOS-style, as no ls.exe was found in the path ----- echo. dir /q %1 ) : reset errorlevel ver>nul endlocal
随意使用这个。 如果你还没有看到UnxUtils,请检查一下。
@echo off run_some_command if errorlevel 2 goto this if errorlevel 1 goto that goto end :this echo This goto end :that echo That goto end :end
%ERRORLEVEL%