バッチ ファイルを開いて 2 つの reg ファイルを切り替えるための、すばやく簡単な方法 (エラー チェックは必要ありません) を探しています。
ユーザーがバッチ ファイルを実行すると、バッチ ファイルは reg ファイル A をレジストリにマージする必要があります。ユーザーが再度実行すると、バッチ ファイルは reg ファイル B をレジストリにマージする必要があります。ユーザーが再度実行すると、ファイル A がマージされます...要点がわかりました。
一般的に、これを行うには2つの方法があると思います。
- 次に実行する reg を格納する変数を作成します。
- レジストリ キーの値をチェックして、最近マージされたレジストリを確認します (おそらく推奨される方法です)。
現在、私はこれをやっています:
REG QUERY "KeyName" /v "ValueName" | Find "x"
IF ERRORLEVEL 1 regedit /S file1.reg
IF ERRORLEVEL 0 regedit /S file2.reg
REG QUERY 部分は機能しているように見えますが、IF ERRORLEVEL
ステートメントで何か問題が発生しています。しかし、まったく別の方法を使用する必要があるかもしれません。
いくつかの提案を期待しています..事前に感謝します!
編集
IF
少しあいまいで申し訳ありません:最初のソリューションが正しい場合、2番目のソリューションは最初のコマンドのIF
後にあまりにも後になるため、以前のソリューションは機能しなかったと思います。IF
したがってIF ELSE
、2 番目の の実行を防ぐためのステートメントが必要になりますIF
。
私は今、この解決策を思いつきました。
REG QUERY "KeyName" /v "ValueName" | Find "x
IF ERRORLEVEL 1 (REGEDIT /S "file1.reg") ELSE REGEDIT /S "file2.reg"
また、別の.regファイルを使用する代わりに、バッチファイル内にレジストリキー/値を追加すると改善されるでしょうか? 値の型は REG_BINARY と REG_DWORD です。