問題タブ [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.
visual-studio-2010 - SignTool.exe エラーの後、Visual Studio で PostBuild イベントが失敗する
Visual Studio 2010 には、ビルド後のイベントでバッチ ファイルを実行するプロジェクトがあります。このバッチは、Microsoft SDK から signtool.exe を呼び出して、バイナリに署名し、タイムスタンプを付けます。
ただし、タイムスタンプ サーバー ( http://timestamp.verisign.com/scripts/timstamp.dllを使用) は、何らかの理由で信頼性が低く、失敗することがあります。これにより、ビルドが失敗しました。
その後、(このコードに基づいて) より高度なバッチ スクリプトを実装し、署名とタイムスタンプを分割し、失敗した場合はタイムスタンプ操作を再試行できるようにしました。
バッチ スクリプト (signfile.bat) の簡易バージョンを次に示します。
ビルド後のイベント コードは次のようになります。
そのため、タイムスタンプが失敗した場合、2 秒間隔で 10 回再試行します。
しかし、私たちが観察したことは、タイムスタンプが最初の試みからうまくいった場合、すべてが問題ないということでした. ただし、最初の試行が失敗した場合、次の試行でタイムスタンプが成功したとしても、ビルド後のイベント全体がコード -1 で失敗しました。
したがって、ご覧のとおり、signfile.bat から返されたエラー コードが 0 であっても、Visual Studio はそれを -1 と見なし、イベントを失敗させます。
ver>nul
あちこちに追加する、または最後に追加する (確かに signfile.bat の前に「call」を追加する) など、エラー フラグをクリアしようとするすべての試みは、exit 0
Visual Studio が errorlevel だけでなく何かもチェックしたように見えたため、役に立ちませんでしたそうしないと。実際、バッチと signfile.bat は、エラーの場合に 0 または 1 のみを返しますが、-1 は返しません。また、signtool.exe が 1 回エラーを返した場合、ビルド後のイベントが失敗しないように Visual Studio を説得する方法はないようです。
batch-file - バッチ スクリプトで失敗した MOVE コマンドからエラーレベルを取得できません
私はこのフォーラムにかなり慣れていないので、メンバーになる前から解決策を提供してくれたことにまず感謝したいと思います :)。
だから私はこのコードを持っています:
問題は、0 以外のエラーレベルを取得できないことです。コピーするファイルが場所から欠落している場合でも、正常にアーカイブされたというメッセージがエコーされます。フォーラムで同様の質問を検索しましたが、何らかの理由で機能しませんでした。コピーと移動のどちらでも取得できないため、コピーと ping コマンド (ping コマンドはエラーレベルで正しい終了コードを返します) の間に何か違いがありますか?
ありがとう!アンドリュー
loops - 読み取りループでエラーレベルを伴う quandry
オートホットキー スクリプトでエラー レベルを設定するのに問題があります。
今のところ、パテ セッションが予期せず閉じない限り、問題なく動作します。
IPとパスワードを設定してtelnet経由で機器を再起動した後、サブを呼び出しています。
基本的に、ポップアップするメッセージ ボックスと、クラッシュの代わりにリターン コマンドが必要です。
MsgBox同様、%IP%の再起動失敗で復帰
自分では動かせなかったのでこちらで質問させていただきます
batch-file - ERRORLEVEL を変数に格納する方法は?
ERRORLEVEL
環境変数をローカル バッチ変数に格納しようとしています。しかし、それは常にであることが判明しました0
。
しようとしましECHO %ERRORLEVEL%
たが、常に印刷され0
ます。
foo.exe
がエラーを生成しておりECHO %ERRORLEVEL%
、コマンド プロンプトから確認でき、ERRORCOUNT
正しく更新されています。
variables - ループ内の変数の設定に問題がある
!errorlevel! を使用しようとしています。ループ内の条件として。呼び出しでエラー レベルを渡し、再び findstr を使用してエラー レベルを設定しようとしましたが、条件が変化していません。
つまり、:checkdup に到達して findstr を再度実行すると、!errorlevel! が実行されます。は 1 に更新されていますが、まだ上部の if ステートメント内にとどまっています。
これはログのサンプルです。
したがって、エラー レベルは 1 に設定されていますが、if !errorlevel! でスタックしています。== 0 状態。他のチェックに進み、for ループを続行する必要があります。私はこれに数日間立ち往生しており、さまざまな組み合わせを試して機能させています。
ありがとう
windows - 起動時にバッチファイルのエラーレベルが0に設定される
.bat ファイルが実行されるとすぐにエラーレベルは 0 になります。ただし、次のような条件としてエラーレベルを使用しています。
私の問題は、エラーレベルが既に 0 に設定されている場合、条件が無効になることです。
とにかく私はこれを回避できますか?
注: errorlevel はファイル内のどこにも設定されていません。
私はこの言語を学んでいるので、明らかな間違いである場合はご容赦ください
ありがとう
batch-file - 欠落している依存関係 (dll) をバッチ ファイルからキャッチする
依存関係が欠落している EXE がバッチ内から実行されたときにエラーをキャッチできますか? このような場合、EXE の読み込みに失敗し、アプリのログが空になります。
エラーレベルをチェックしようとし、depends.exeツールを使用してEXEを事前チェックしようとしましたが、どれも機能しませんでした
つまり、mybat.exe
run-this-app.exe いくつかのチェックを行います..何かをします