今天寫了一個能手動指定網絡IP的批處理,參考的網址有:
http://blog.163.com/yangshengchang@126/blog/static/52919664200952210302939/
http://hi.baidu.com/devel83/blog/item/d38476d6d6adc6c850da4b27.html
做了一些修改,完善了一些功能:
①能手動指定網絡連接;
②能在運行程序時手動指定IP等參數,同時,也有默認值;
③修改小BUG,原例子中將IP設置於網關設置分開了,導致設置網關後會將IP又賦值爲空,現將兩個設置和在一起。
最後,貼上完整代碼:
@echo off
title 企鵝Sheldon批處理系列之3——設置網絡IP
mode con cols=60 lines=40
echo 功能說明:設置網絡連接的靜態或動態IP
echo.&echo.
::請根據您的參數修改以下數據
set name=本地連接
::設置 IP地址
set ipaddress=10.64.128.121
::設置 子掩碼
set mask=255.255.255.0
::設置 網關
set gateway=10.64.128.254
::設置 首選DNS服務器
set dns1=202.205.16.5
::設置 備用DNS服務器
set dns2=202.205.16.4
set /p name= 請輸入網絡連接名(默認:本地連接):
set /p type= 請選擇設置方式,1: 靜態,2: 動態:
if /i %type%==1 goto :STATIC_IP
if /i %type%==2 goto :DHCP_IP
:STATIC_IP
set /p ipaddress= 請輸入靜態IP(默認:10.64.128.121):
set /p mask= 請輸入子網掩碼(默認:255.255.255.0):
set /p gateway= 請輸入網關(默認:10.64.128.254):
set /p dns1= 請輸入首選DNS(默認:202.205.16.5):
set /p dns2= 請輸入備用DNS(默認:202.205.16.4):
echo 正在進行靜態IP設置,請稍等...
netsh interface ip set address name=%name% source=static addr=%ipaddress% mask=%mask% gateway=%gateway% >nul
echo. IP地址 = %ipaddress% .完成設置
echo. 子掩碼 = %mask% .完成設置
echo. 網關 = %gateway% .完成設置
netsh interface ip set dns name=%name% source=static addr=%dns1% register=PRIMARY >nul
echo. 首選DNS = %dns1% .完成設置
netsh interface ip add dns name=%name% addr=%dns2% index=2 >nul
echo. 備用DNS = %dns2% .完成設置
goto :SETEND
:DHCP_IP
echo 正在進行動態IP設置,請稍等...
netsh interface ip set address name=%name% source=dhcp
netsh interface ip set dns name=%name% source=dhcp register=PRIMARY
netsh interface ip set wins name=%name% source=dhcp
goto :SETEND
:SETEND
echo. ===============IP設置完成================
echo. =========================================
echo. == 以下測試網絡是否正常
echo. == 若出現如下形式:
echo. == "Reply from %gateway%: bytes=32 time<1ms TTL=64"
echo. == 則網絡正常,否則網絡不正常!
echo. =========================================
ping %gateway% -n 1
pause