- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチ reg query コマンドの結果)
バッチ reg query コマンドの結果におけるエラーメッセージの表示を抑制する方法
このQ&Aのポイント
- バッチファイルにてレジストリのキーの存在の有無を知るためには、reg query コマンドを使用します。
- しかし、キーが存在しない場合には「指定されたレジストリ キーまたは値が見つかりませんでした」というエラーメッセージが表示されます。
- このエラーメッセージを表示させない方法として、reg query コマンドの後ろに「1>nul 2>&1」と記述することで抑制することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>あったので真似てみましたが、レジストリキーがあってもなくても ErrorLevel は常に同じ値に なるばかりです。 それはおかしいですね。何らかの勘違い、または、タイプミスでしょう。 >「reg query "パス" 1>nul 2>&1」 の正しい使い方 結果出力は、1番に出るので、「コマンド >ファイル」もしくは「コマンド 1>ファイル」でリダイレクトします。 エラーメッセージは2番に出るので、「コマンド 2>ファイル」でリダイレクトします。 つまり、一切表示させたくないなら、「コマンド >NUL 2>NUL」です。「2>&1」は、「2番は1番と同じ」ということで、「コマンド >NUL 2>NUL」と「コマンド >NUL 2>&1」と「コマンド 2>NUL 1>&2」とは同じ働きです。 >(ErrorLevelの見方?)を教えてください。 reg query HKLM\Software >NUL 2>&1 echo %ERRORLEVEL% reg query HKLM\SoftwareXX >NUL 2>&1 echo %ERRORLEVEL% とコマンドプロンプトで打ち込んでみてください。上が0、下が1を表示するはず。
お礼
notnot様 とてもとても丁寧な開設ありがとうございました。 頂いた回答を元に書き直してみました 欲しい結果が得られました。 ほんとうにありがとうございました。