問題タブ [errorlevel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - DOS でコマンド リターン コードを表示する最良の方法
時々、次のcmd
ようなコマンドを実行します。
fc からの戻りコードを確認したいと考えています。これを行う簡単な方法はありますか?
java - System.exit(num)またはmainからRuntimeExceptionをスローしますか?
問題がある場合にDOSエラーレベルをゼロ以外の値に設定する必要があるシングルスレッドアプリがあります。RuntimeExceptionをスローするか、System.exit(nonzero)を使用する方が良いですか?スタックトレースは必要ありません。また、このアプリが拡張/再利用されることは期待していません。これら2つのオプションの違いは何ですか?
batch-file - バッチERRORLEVELの結果はCMDとは異なりますか?
これらの2つの状況でERRORLEVELの動作が異なるのはなぜですか?
コマンドラインから:
バッチファイルからの対:
結果:
windows - Forループのエラーレベル(バッチウィンドウ)
私は次のWindowsバッチコードを持っています:
しかし、それは私が期待するようには機能しません。
すべての名前プロセスiidbms、iigcc、iigcd、dmfacp、dmfrcp、rmcmdは本物であり、検出されます。代わりに、 qwertyは発明されたものであり、検出されないはずなので、「no process found 1」と出力する必要がありますが、検出されません。 、常に0を出力します。
しかし、私が気付いたのはtasklist | findstr /i qwerty
、dosプロンプトからを実行すると、その直後に%errorlevel%
=1であるということです。
どのような答えがありますか、それ以上ですか?
scripting - plink からリターン コードを取得しますか?
DOS バッチ スクリプトでは、plink を使用してリモート (Windows) コンピューターで単一のコマンドを実行しています。以前は、このコマンドはローカル マシンでのみ実行され、成功を判断するためにリターン コードに依存していました。この情報を plink から簡単に取得する方法はありますか?
windows - エラーログファイルのエコー(作成)
次の行コマンドがあります。
%errorlevel%equ 1(
しかし、このように、ファイルが別のプロセスによって処理されているというメッセージが表示されます。
Echoを使用する代わりに、ファイルが存在しない場合は別の方法でファイルを作成することもできます。
batch-file - IF内のERRORLEVEL
で奇妙なことに遭遇し、%ERRORLEVEL%
誰かがその理由を知っているかどうか、そしてそれを修正する方法があるかどうかを確認したかっただけです。%ERRORLEVEL%
基本的に、ifステートメントが変数を設定しない場合にコマンドが内部で実行されるように見えます。ERRORLEVEL
(のようにIF ERRORLEVEL 1
、とは異なりますIF %ERRORLEVEL% EQU 1
)チェックはまだ正常に機能しているように見えるので、おそらく回避できますが、エラーレベルを出力できると便利です。デバッグなどに。
それをバッチファイルに入れて実行すると、次の出力が生成されます。
C:\ Users \ username \ Documents \ work> test.bat
OUTSIDE_IF
1'ThisWillSetErrorLevelTo9009ieNotRecognizedCommand'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。
OUTSIDE_IF
1'ThisWillSetErrorLevelTo9009ieNotRecognizedCommand'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。
INSIDE_IF ERRORLEVEL 9009
INSIDE_IF2 ERRORLEVEL GREQ 1 9009
OUTSIDE_IF ERRORLEVEL 1
関連記事:
monitoring - 危険度が一目瞭然
私は監視システムに取り組んでいます。メッセージを送信し、各メッセージには危険/重大度フラグがあり、カジュアルなユーザーでも非常に明白であることを望んでいます。次のうちどれが明白な意味を持っていますか? また、正気なコンピューター リテラルの人間 (つまり、特定の (A、B、C、D、... ) どんな人間も、A は B よりも危険性が低い、B は C よりも危険性が低い、C < D などを即座に認識します)。
考えられる危険レベルのグラデーションをいくつか見てきましたが、カジュアルなユーザーにとってどれほど明白かはわかりません。
- わかった
- 情報
- 警告
- エラー
- 失敗
- 致命的
- 致命的
- 墓
世界中のすべてのユーザーにとって、重大度/危険レベルのどの順序が最も明白でしょうか? たとえば、CRITICAL が ERROR よりも重大であることは誰にとっても明らかですか?
windows - && または || を使用すると、X>=1 の場合に `EXIT /BX` でバッチを終了すると、コマンドが正常に完了したかのように動作します。バッチ呼び出し間の演算子
EXIT /B X
コマンドを使用して一連の .bat ファイルを連鎖させ、成功または失敗を返し、次の .bat&&
を||
条件付きで実行しようとしています(例: a.bat && b.bat
)。
EXIT /B 0
a.bat を終了するために呼び出すかどうかに関係なく、後で b.bata.bat && b.bat
を呼び出します。私の理解では、EXIT /B 0
を設定する必要があります。ERRORLEVEL=0
これは成功であり、&&
続行する必要があります。これとは対照的に、呼び出しはどちらが失敗したEXIT /B 1
かを設定する必要があるため、呼び出しは停止する必要があります。ここで何が欠けていますか?ERRORLEVEL=1
&&
簡単な例:
非バッチ コマンドの場合、期待どおりに動作します。
を使用するEXIT /B
と、常に a.bat が成功したと見なされます。
a.bat を終了して期待どおりa.bat && b.bat
にa.bat || b.bat
動作させるにはどうすればよいですか?
すべてのコマンドは、Windows XP SP3 の cmd.exe で実行されます。
nsis - makensis.exe が機能しているのにエラーレベル 1 を返すのはなぜですか?
動作する NSIS スクリプトがあります。コンパイルすると、生成されたインストーラーが正常に動作します。それでも、makensis.exe は 0 ではなく 1 を返します。継続的インテグレーションのセットアップでこれを使用すると、ビルドが失敗したと CI が判断するため、これは本当に苦痛です。
これは、プロジェクトを SVN から Git に切り替え、NSIS スクリプトに 1 つの小さな変更を加えたときに始まりました (パスを 2 か所変更しました)。
- 私が見つけることができるコンパイル エラーは (/V4 を使用しても) 出力されません。
- 6 つの警告がありますが、makensis が 0 を返した古いリポジトリにあった 6 と同じです。
- 以前の「errorlevel=0」出力と新しい「errorlevel=1」出力を比較しましたが、大きな違いは見つかりませんでした。
- 正常に動作するインストーラーを生成します。
- 私は今でも makensis.exe のまったく同じコピーを使用しています。
それでも、エラーレベル 1 を返します。
数年前にこの問題があったことは確かですが、どのように解決したか思い出せません。NSIS の最新バージョンにアップグレードしたばかりだと思いますが、今回はそれができません (既に最新バージョンを使用しています)。