リトル・ウィリスです。バッチ スクリプトを使用して、.jar ファイルをダブルクリックするときに使用される既存のレジストリ キーを編集しようとしています。問題は、入力しようとしているデータに引用符が含まれていることですが、文字列と見なされるには引用符も必要です。
例:
reg add "HKEY_LOCAL_MACHINE\Software\Classes\jarfile\shell\open\command" /v "" /t REG_EXPAND_SZ /d "C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %* /f
これをバッチ スクリプトで実行すると、コマンド ウィンドウに「エラー: コマンド ライン パラメータが多すぎます」と出力されます。
これを簡単にするために。"C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %* を引用符と %1 と %* をそのまま含むデータとしてレジストリ キーを追加したい実際のステートメントや文字列には変換されません。
編集:
レジストリは通常、次のコマンド ライン文字列を使用して追加されます。
ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
コマンド ラインでは問題なく動作しますが、バッチ スクリプトでこれを使用したときの以下のコードと同様に、「%1」と %* は表示されません。