web-dev-qa-db-ja.com

cmd.exe%errorlevel%9009の公式MSリファレンス

したがって、cmd.exeから有効なプログラムを実行し、%errorlevel%をチェックすると0が返されることを経験から知っています。

C:\>dir logo.bmp
 Volume in drive C has no label.
 Volume Serial Number is 5283-A7A2

 Directory of C:\

05/22/2008  12:43 PM         1,440,054 logo.bmp
               1 File(s)      1,440,054 bytes
               0 Dir(s)  71,723,995,136 bytes free

C:\>echo %errorlevel%
0

同様に、存在しないコマンドを実行してから%errorcode%を確認しようとすると、9009になります。

C:\>idontexist.exe
'idontexist.exe' is not recognized as an internal or external command,
operable program or batch file.

C:\>echo %errorlevel%
9009

私は何年もの間バッチスクリプトを作成してきましたが、それらは常にこのように機能してきました。ただし、誰かがこの手法の互換性(前方および後方の両方)について質問したため、ファイルまたはプログラムが見つからない場合に実際に9009をエラーレベルとして定義しているMicrosoftの公式ドキュメントは見つかりません。私が来た最も近いのはこのサイトです( http://msdn.Microsoft.com/en-us/library/ms681381(v = vs.85).aspx )残念ながら9009がリストされていますDNSエラーとして。

この動作がマイクロソフトによって文書化されている場所を誰かが知っていますか?

14
AWT

Exchangeチームは、エラーコード(便利なHRESULTを含む)を変換する Common Error Lookup Tool を公開しました。 9009の出力は次のとおりです。

# for decimal 9009 / hex 0x2331 :
  MSG_DIR_BAD_COMMAND_OR_FILE                                   cmdmsg.h       
# '%1' is not recognized as an internal or external command,
# operable program or batch file.
  SQL_9009_severity_10                                          sql_err        
# Cannot shrink log file %d (%s) because of minimum log space
# required.
  DNS_ERROR_RCODE_NOTAUTH                                       winerror.h     
# DNS server not authoritative for zone.
# for hex 0x9009 / decimal 36873 :
  SSLEVENT_NO_CIPHERS_SUPPORTED                                 lsapmsgs.mc    
# No suitable default server credential exists on this
# system. This will prevent
# server applications that expect to make use of the system
# default credentials
# from accepting SSL connections. An example of such an
# application is the directory
# server. Applications that manage their own credentials,
# such as the internet
# information server, are not affected by this.
# 4 matches found for "9009"

...探しているのはcmdmsg.hからです。

それは実際にはdocumentationではありませんが、少なくとも公式なものです。

17
Mark