2017-09-27 10 views
2

を経由して、レジストリキーの値を照会\ Windows \ CurrentVersion \ Internetの設定ProxyEnableキー。私は、具体的</p> <p>HKCU SOFTWARE マイクロソフトは、レジストリキーの値が存在するかどうかを確認するためにreg queryコマンドを使用して、単純なバッチファイルを作成しようとしているバッチファイル

私は、このコマンドを実行する場合:

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /f 0x1 /d 

をそれは次の値を返します。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings 
    ProxyEnable REG_DWORD 0x0 

に入力されたとして、私は、コマンドを期待するとして、それは、私の/ F検索フィールドを受け入れていないかのようにですそのキーの値が0x0なので結果を返しません。

"0x1"やその他の組み合わせの引用符を使用しようとしましたが、何か間違っていると思っています。

ありがとうございます!

+0

/Fは検索を意味していた? – Squashman

+0

@Squashman、 'Reg Query /? '、'/f検索するデータやパターンを指定します。文字列にスペースが含まれている場合は、二重引用符を使用します。つまり、キーを読んでいるだけなので、データを変数に設定して、If%変数でチェックすることはできませんか?Gtr 0comparison – Compo

+2

これは私のために働いた: 'reg/f 1/t REG_DWORD | find/I "ProxyEnable" ' – Squashman

答えて

2

あなたが唯一のプロキシを有効にすると、上のトグルするかどうかを知りたいと思っているように見えるとして、あなたの代わりにこれを使用することができます:

@Echo Off 

Set "RR=HKCU" 
Set "RK=Software\Microsoft\Windows\CurrentVersion\Internet Settings" 
Set "RV=ProxyEnable" 

For /F "Skip=1 Tokens=2*" %%A In ('Reg Query "%RR%\%RK%" /V "%RV%" 2^>Nul' 
) Do If %%~B Gtr 0 Echo(%%B 

Pause 

インスタンスがそれを切り替えるためにのために望んでいた場合は、その後、オフの場合このようなもののように変更します。

@Echo Off 

Set "RR=HKCU" 
Set "RK=Software\Microsoft\Windows\CurrentVersion\Internet Settings" 
Set "RV=ProxyEnable" 

For /F "Skip=1 Tokens=2*" %%A In ('Reg Query "%RR%\%RK%" /V "%RV%" 2^>Nul' 
) Do If %%~B Equ 0 Reg Add "%RR%\%RK%" /V "%RV%" /T REG_DWORD /D 0x1 /F>Nul 

技術的にはあなたがちょうどそれを行うために、これを実行することができますが:

@Echo Off 

Set "RR=HKCU" 
Set "RK=Software\Microsoft\Windows\CurrentVersion\Internet Settings" 
Set "RV=ProxyEnable" 

Reg Add "%RR%\%RK%" /V "%RV%" /T REG_DWORD /D 0x1 /F>Nul 

編集

EnableHttp1_1 REG_DWORD 0x0Findに送信されていたので、それが第一の方法Squashmanによって提案されたとzett42で改善、を使用して確認するには:あなたのアイデアを手に入れた

@Echo Off 

Set "RR=HKCU" 
Set "RK=Software\Microsoft\Windows\CurrentVersion\Internet Settings" 
Set "RV=ProxyEnable" 

Reg Query "%RR%\%RK%" /F 1 /E /T REG_DWORD|Find /I "%RV%">Nul 2>&1||(
    Reg Add "%RR%\%RK%" /V "%RV%" /T REG_DWORD /D 0x1 /F>Nul) 
関連する問題