
インターネットオプションのプロキシ設定をバッチファイルでトグルさせようと思ったのですが、思うように動かないのでどなたか助けて頂けないでしょうか。
こちらを参考にさせて頂きました。
http://www.tkssoft.com/cmd/cmd013.html
@echo off
cls
set bool='reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable'
if '%bool%'=='0' goto Set_1
if '%bool%'=='1' goto Set_0
:Set_1
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t reg_dword /d 1
goto :eof
:Set_0
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t reg_dword /d 0
goto :eof
明らかにset部分が間違っていると思うのですが、どのように直したらいいのかいろいろ試してみたのですがどうにも解決しませんでした。
No.1ベストアンサー
- 回答日時:
『コマンドプロンプト』を起動して、
set bool='reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable'
と入力後、
set bool (←または、echo %bool%)
と入力してみてください。単純に、
bool='reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable'
と表示されるだけだと思いますョ。
"reg"コマンドの実行結果で分岐させるのでしたら、
reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable
を実行すると("Windows XP"の実行結果では)、
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
ProxyEnable REG_DWORD 0x0
と画面に表示されますから、これをパイプ(半角の"|")を通して"find"コマンドに送り、"0x0"があるかどうかで、"ERRORLEVEL"を判定すると良いと思います。("find"コマンドは、指定した文字列が見つかれば、"ERRORLEVEL"に0を、見つからなければ1を返します。)
具体的には、
@echo off
cls
reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable | find "0x0"
if %ErrorLevel%==1 goto Set_0
if %ErrorLevel%==0 goto Set_1
:Set_1
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t reg_dword /d 1
goto :eof
:Set_0
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /f /v ProxyEnable /t reg_dword /d 0
goto :eof
わかりやすい解説ありがとうございます。
なるほど・・言われてみれば返り値をしっかり確認してから試すべきでした。
無事目的動作しました。ありがとうございます。
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
batファイルでレジストリキーの有無を確認したい
その他(プログラミング・Web制作)
-
コマンドプロンプト バッチ|結果を変数に代入する方法
その他(プログラミング・Web制作)
-
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
-
4
batでレジストリキーから読み取った値をセットする方法
その他(プログラミング・Web制作)
-
5
ローカルグループポリシー 設定変更をbatファイルで実行するコマンド
Windows 10
-
6
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
7
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
8
batファイルで結果を表示しない方法
その他(プログラミング・Web制作)
-
9
バッチファイル reg queryした値をreg add したい
その他(プログラミング・Web制作)
-
10
最初の一度しか実行されないログオンスクリプト
Windows Me・NT・2000
-
11
runas実行した時にきかれるパスワードを手入力以外で読み込ませたい
その他(プログラミング・Web制作)
-
12
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
13
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
14
echoの出力の最後のスペースを除去したい
iOS
-
15
ユーザーアカウントが複数ある場合のタスクスケジュール設定
サーバー
-
16
バッチスクリプト処理でエラーが発生しても無視して続行する方法
その他(プログラミング・Web制作)
-
17
レジストリの変更が反映されない
Windows 10
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトにおけるコ...
-
「環境変数名の編集」ウィンド...
-
shutdownコマンドをキャンセル...
-
アクセスのボタンから指定のワ...
-
Linuxコマンドは何の言語で書か...
-
コマンド履歴が~/.bash_history...
-
UNIX コマンドにおける # や円...
-
レコーダー換装用のHDDのAVコマ...
-
vbaで「最前面に」とする方法は?
-
SCコマンドでアクセス拒否
-
ターミナルをWindowsXPで開きたい
-
awkで本日日付の取得
-
至急です、Ubuntuに詳しい方助...
-
[バッチファイル]レジストリ値...
-
Redhat8.0でのシステム終了方法
-
Linux:sedコマンドで置換がし...
-
Excel下部のメニューが消えた
-
cd-romドライブを閉じる コマ...
-
windows コマンド rmdir
-
dateコマンドでn分前の時刻を出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
shutdownコマンドをキャンセル...
-
UNIX コマンドにおける # や円...
-
至急です、Ubuntuに詳しい方助...
-
ワイルドカードを使ってでフォ...
-
SCコマンドでアクセス拒否
-
コマンドプロンプトにおけるコ...
-
Linuxコマンドは何の言語で書か...
-
compressコマンドってなくなっ...
-
[バッチファイル]レジストリ値...
-
Excel下部のメニューが消えた
-
AIXでの文字コード、改行コード...
-
vbaで「最前面に」とする方法は?
-
Linuxでコマンドが終了しない
-
「環境変数名の編集」ウィンド...
-
UNIXのコマンドが使えないんです
-
アクセスのボタンから指定のワ...
-
JP1での保留Job一覧取得につき...
-
windows10を使っています。 wsl...
-
Solarisでiノード数を確認する...
-
レコーダー換装用のHDDのAVコマ...
おすすめ情報