通过命令行设置代理(Windows)

时间:2018-07-27 08:47:00

标签: batch-file cmd

如何通过自动执行此操作的命令行或脚本为我在waterfox中拥有的每个配置文件设置代理。顺便说一下,我有50个个人资料。

这是我要通过cmd-line进行的操作:
manual proxy configuration

2 个答案:

答案 0 :(得分:0)

我认为您可以在此SE site post上找到更多信息。作为参考,这是最受欢迎的答案之一。

启用代理使用的命令:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
    /v ProxyEnable /t REG_DWORD /d 1 /f

禁用代理使用的命令:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
    /v ProxyEnable /t REG_DWORD /d 0 /f

更改代理地址的命令:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
    /v ProxyServer /t REG_SZ /d proxyserveraddress:proxyport /f

我添加了换行符(^)以提高可读性。另外,在这种情况下,它更像是每个用户的设置,而不是系统范围的设置。

答案 1 :(得分:0)

我不知道waterfox,但是如果它类似于firefox,则prefs.js的第一行状态为:

> pushd "%APPDATA%\Mozilla\Firefox\Profiles\*.default"
> more prefs.js

// Mozilla User Preferences

// DO NOT EDIT THIS FILE.
//
// If you make changes to this file while the application is running,
// the changes will be overwritten when the application exits.
//
// To change a preference value, you can either:
// - modify it via the UI (e.g. via about:config in the browser); or
// - set it within a user.js file in your profile.

我建议您制作prefs.js和user.js的备份副本 手动更改条目,并将当前文件与备份进行比较。

为此使用fc.exe或更可取的winmerge.exe。 将检测到的更改应用于其他配置文件。

用于备份pref.js,删除代理设置并应用您自己的示例批处理。
未经测试,使用后果自负。

:: Q:\Test\2018\07\27\SO_51554221.cmd
@Echo off
PushD "%APPDATA%\Mozilla\Firefox\Profiles\*.default"
set "ffile=%cd%\prefs.js"

:: make sure firefox is **not** running
rem your code goes here

:: First save settings 
Move /Y "%ffile%" >"%ffile%.bak"

:: create a copy without lines to be changed/appended

( Findstr /IBV "user_pref(.network\.proxy\." "%ffile%.bak"
  echo user_pref("network.proxy.http", "213.54.64.1");
  echo user_pref("network.proxy.http_port", 91);
  echo user_pref("network.proxy.type", 1);
) > "%ffile%"

PopD