Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 创建批处理脚本以通过当前网络连接更改网络设置_Batch File_If Statement_Networking - Fatal编程技术网

Batch file 创建批处理脚本以通过当前网络连接更改网络设置

Batch file 创建批处理脚本以通过当前网络连接更改网络设置,batch-file,if-statement,networking,Batch File,If Statement,Networking,我想使用一个批处理脚本,该脚本: 在家时将网络设置更改为静态ip 不在家时将网络设置更改为dhcp 我听说你可以使用 for /f "tokens=3" %%a in ('netsh wlan show interface ^| findstr /r "^....SSID"' ) do @echo %%a 所以,如果我想创建这样的批处理脚本,它会像这样吗 for /f "tokens=3" %%a in ('netsh wlan show interface ^| findstr /r "

我想使用一个批处理脚本,该脚本:

  • 在家时将网络设置更改为静态ip
  • 不在家时将网络设置更改为dhcp
我听说你可以使用

for /f "tokens=3" %%a in ('netsh wlan show interface ^| findstr /r "^....SSID"' ) do @echo %%a
所以,如果我想创建这样的批处理脚本,它会像这样吗

for /f "tokens=3" %%a in ('netsh wlan show interface ^| findstr /r "^....SSID"' ) do (
    if "%%a"=="My_Cool_Home_Network" 
        netsh interface ip set address "NetworkAdapter" static 192.168.2.33 255.255.255.0 192.168.2.1
        netsh interface ip set dns "NetworkAdapter" static 192.168.2.1
    else
        netsh interface ip set address "NetworkAdapter" dhcp
        netsh interface ip set dns "NetworkAdapter" dhcp
)

您在
if
/
else
构造中遗漏了括号:
if“%%a”==“My_Cool\u Home\u Network”(
--
netsh[…]
--
)else(
--
netsh[…]
)--在命令提示符中键入
if/?
,以获取详细信息…即使使用括号,也不起作用:(我的目的只是修复
if
/
else
语法;恐怕我无法帮助您使用
netsh
命令…为什么不在家中配置路由器为您的设备分配静态租约/IP保留?大多数人可以根据设备的MAC地址在DHCP范围外分配预定义的IP地址。这就是无论如何,我是如何在我家分配IP的。这样,如果你的另一半借用了你的笔记本电脑,并且没有触发脚本,那么他/她就不会浪费wifi提供商30分钟的时间来解决连接成功后无法上网的问题。你能发布更新的代码吗?我想我可能知道发生了什么错误。您在
if
/
else
构造中遗漏了括号:
if“%%a”==“My_Cool\u Home\u Network”(
--
netsh[…]
--
)else(
--
netsh[…])
--在命令提示符中键入
if/?
以获取详细信息…即使使用括号,也不起作用:(我的目的只是修复
if
/
else
语法;恐怕我无法帮助您使用
netsh
命令…为什么不在家中配置路由器为您的设备分配静态租约/IP保留?大多数人可以根据设备的MAC地址在DHCP范围外分配预定义的IP地址。这就是无论如何,我是如何在我家分配IP的。这样,如果你的另一半借用了你的笔记本电脑,并且没有触发脚本,那么他/她就不会浪费wifi提供商30分钟的时间来解决连接成功后无法上网的问题。你能发布更新的代码吗?我想我可能知道发生了什么错。