2012-01-12 19 views
5

%DATE%をREG_SZレジストリ値(see link)に挿入するという質問を解決しましたが、% - .BATスクリプト内のREG ADDを使用してレジストリ値にDP0(長いソースパス)を追加します。それはしません、私は間違って何かをしているので、それは確信しています。REG ADDを使用して%〜DP0をレジストリに書き込む

reg add "hklm\software\acme" /v "TestValue" /d "%~dp0" /t REG_SZ /f 

変数に値を設定しようとしましたが、これも機能しません。何が起こるのは、前に二重引用符を付けずに拡張パスを挿入するが、後ろに二重引用符を付けて、REG /?構文など

SET VX=%~DP0 
reg add "hklm\software\acme" /v "TestValue" /d "%VX%" /t REG_SZ /f 

誰かが間違っているのを見てください。

答えて

5

パス%〜dp0は、ディレクトリセパレータ文字 '\'(たとえば 'c:\ temp \')で終わり、次の二重引用符文字のエスケープとして解釈されます。二重引用符を閉じる。あなたがしなければならないことは、末尾の\文字を別の文字でエスケープすることです:

reg add "hklm\software\acme" /v "TestValue" /d "%~dp0\" /t REG_SZ /f 
関連する問題