私のスクリプト:
@ECHO OFF
SET RegPath="HKEY_CURRENT_USER\Software\Microsoft\VBA\7.0\"
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v LastKey /t REG_SZ /d "%RegPath%" /f
START RegEdit
/f
が含まれているにもかかわらず、エントリを置き換えるように常に求められます。 REG ADDコマンドでプロンプトを表示せず、エントリを置き換えるにはどうすればよいですか?
そのまま実行すると、レジストリに追加された値は実際にはHKEY_CURRENT_USER\Software\Microsoft\VBA\7.0" /f
-孤立した引用符を含み、別の引数として意図された/f
であることがわかります。
ここでの問題は、変数の呼び出しでは言うまでもなく、変数自体を介して引用符を追加しすぎていることです。そのため、引数の開始位置と終了位置についてReg
が混乱します。
これらの無関係な引用符をすべて削除すると、意図したとおりに機能します。
@ECHO OFF
SET RegPath=HKEY_CURRENT_USER\Software\Microsoft\VBA\7.0\
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v LastKey /t REG_SZ /d %RegPath% /f
START RegEdit