怎么用bat批处理自动设网卡的ip

如题所述

@echo off
color a
title 设置本机IP
rem 设置变量
echo 请按提示操作
:head
echo 设置为手动分配输入1,自动分配(DHCP)输入2
set /p xuanze=
if %xuanze% LSS 1 goto head
if %xuanze% GTR 2 goto head
echo 当前可用接口如下:
netsh interface show interface
echo 输入接口名称 如:本地连接 为空则设置为默认
echo 默认为〖【本地连接】〗
rem :interf
set /p Nic=
if "%Nic%"=="" set Nic=本地连接
rem echo 接口不能为空,重新输入
rem goto interf
rem )
if %xuanze% EQU 2 goto setdhcp
:input
echo 输入IP地址 若为空位自动获取IP
set /p Addr=
if "%Addr%"=="" goto setdhcp
echo 输入掩码(若输入为空则设置为默认255.255.255.0)
set /p Mask=
if "%Mask%"=="" (
set Mask=255.255.255.0
echo 255.255.255.0
)
:inputGway
echo 输入默认网关
set /p Gway=
if "%Gway%"=="" (
set /p GwayNull=网关为空? y/n:)
if "%GwayNull%"=="n" goto inputGway
if "%GwayNull%"=="N" goto inputGway
echo 输入接口跃点数:1或者20(1为默认连接)
echo 若输入为空 则默认为20跳
set /p yuedian=
if "%yuedian%"=="" set yuedian=20
echo 输入DNS 若为空默认为210.41.224.34
set /p Dns1=
if "%Dns1%"=="" set Dns1=210.41.224.34
rem //以上依次为IP地址、子网掩码、网关、首选DNS
echo -------------------------------------------------
echo 正在对〖【%Nic%】〗进行IP设置,请稍等
echo. IP地址 = %Addr%
echo. 子网掩码 = %Mask%
echo. 网关 = %Gway%
echo. 首选DNS = %Dns1%
title 正在设置...
netsh interface ip set address %Nic% static %Addr% 255.255.255.0 %Gway% %yuedian%
netsh interface ip set dns %Nic% static %Dns1% primary
goto out
rem 设置为自动获取
:setdhcp
title 正在设置...
echo -------------------------------------------------
echo 正在将接口〖【%Nic%】〗设置为自动获取IP,请稍等
netsh interface ip set address %Nic% dhcp
netsh interface ip set dns %Nic% dhcp
:out
title 设置完成
echo. IP设置完成!
pause

保存为.bat 或者.cmd 执行就好了追问

不行啊,我运行就提示系统找不到指定的文件。

追答

找不到什么文件? 复制文本贴上来看看~

追问

追答

我很想知道 是什么文件找不到

请截图大一点 没有关键信息

追问

没有了,就这个。应该是网卡,我查过可能是注册表的什么键的位置变化才出现这个问题。

追答

就算找不到文件应该会提示到底是什么文件找不到!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-07
@echo off
set nic_name=
setlocal enabledelayedexpansion
for /f "usebackq tokens=2,3 delims=: " %%l in (`"ipconfig|find "适配器"|find "连接""`) do (
set nic_name=%%l %%m
echo 当前活动网卡连接名称为:!nic_name!
echo.
echo 开始自动设置DNS地址...
Netsh interface IP set dns "!nic_name!" dhcp
echo.
)
pause

费劲半天自己写出来了,自动设置有线和无线网卡为DHCP,获取网卡名称还是比较费劲的,看到一个例子是从注册表里找的,那个代码又复杂又容易报错,自己改了这个亲测使用正常。
第2个回答  2012-09-11
netsh i i set add "本地连接" static 192.168.1.30 255.255.255.0 192.168.1.2
rem 192.168.1.30为你的IP,192.168.1.2为网关.
自动获取:
netsh i i set add "本地连接" dhcp
相似回答