什么是相当于$? 在Windows中?

有人知道什么是相当于$?Windows命令行? 有没有?

编辑: $? 是保存最后一个进程的退出代码的UNIXvariables

你想检查%ERRORLEVEL%的值。

Windows批处理文件

%ERRORLEVEL%返回最近使用的命令的错误代码。 非零值通常表示错误。

http://technet.microsoft.com/en-us/library/bb490954.aspx

Windows Powershell

$? 如果上次操作成功则包含True,否则包含False。 和

$ LASTEXITCODE包含最后一个Win32可执行文件执行的退出代码。

http://blogs.msdn.com/powershell/archive/2006/09/15/ErrorLevel-equivalent.aspx

Cygwin Bash脚本

$? 扩展到最近执行的前台程序的退出状态代码。

http://unix.sjcc.edu/cis157/BashParameters.htm

对不起,疏通一个旧的线程,但值得注意的是,%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%