スペースを含むレジストリキー値を追加する方法


1

次のページ(cmdから既存のレジストリキー値名のデータを変更するにはどうすればよいですか)を見つけましたが、それは非常に役に立ちましたが、さらに質問があります。

私のPATHには「c:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \」を含む値があり、「P:\ SQL」を追加したいと思います。以下のスクリプトを実行すると、PATHは「C:\ Program; P:\ SQL」のようになります。PATHを「c:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \; P:\ SQL」のように変更するには、何を変更する必要がありますか?

ここに私が持っているものがあります:

for /F "skip=2 tokens=3" %%r in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do set oldVal=%%r    
echo previous=%oldVal%    
set newVal=%oldVal%;P:SQL    
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d %newVal% /f

ありがとう。


始めに使用し/vないでください/ve
DavidPostill

なぜレジストリを使用してパスを設定しているのですか?
DavidPostill

DavidPostill、私は「/ V」だけで試しましたが、それもうまくいきませんでした。700台のコンピューターに新しいソフトウェアを展開しており、データにアクセスするためにそのアプリのモジュールのPATHにP:\ SQLを追加する必要があり、700台のコンピューターに技術を送信する価値はないと思います。
ニックH

回答:


1

値を自分に追加するにはどうすればよいPATHですか?

PATHはを含む値があり"c:\Program Files\Microsoft SQL Server\100\Tools\Binn\""P:\SQL"これに追加したい

レジストリを読み書きするのはなぜですか?

setx値を追加するために使用しますPATH

setx PATH "%PATH%;P:\SQL" /m

注意:

  • /mシステム環境で変数を設定しますHKLM

    (デフォルトはローカル環境ですHKCU


参考文献



なぜレジストリを使用していたのですか?トラブルに巻き込まれるのに十分なだけ知っているからです。:)問題を修正しました。ありがとう
ニックH

1

レジストリを本当に改ざんしたい場合は、次のようにしますが、自己責任で行ってください

@echo off
set new_value=;P:/SQL     ::set the new value here

set key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
for /F "delims= skip=2" %%r in ('reg query %key% /v "Path"') do set old_value=%%r
set old_value=%old_value:    Path    REG_SZ    =%
set new_value=%old_value%%new_value%
reg add %key% /v "Path" /d "%new_value%" /f

これはかなり粗雑な方法です。レジストリを変更する前に、必ずレジストリのバックアップを取ることを忘れないでください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.