
設置固定IP的批處理腳本分享
- @echo off
- title 網絡工具
- color 3E
- ::preset IP
- set Net_IP_Diy=192.168.1.1
- set Net_MASK=255.255.255.0
- set Net_gateway=192.168.1.1
- ::preset DNS
- set Net_dnsPra= 192.168.1.1
- set Net_dnsOrder= 192.168.1.2
- :: BatchGotAdmin
- :-------------------------------------
- REM --> Check for permissions
- >nul 2>&1 %SYSTEMROOT%system32cacls.exe %SYSTEMROOT%system32configsystem
- REM --> If error flag set, we do not have admin.
- if '%errorlevel%' NEQ '0' (
- echo Requesting administrative privileges...
- goto UACprompt
- ) else (
- goto gotAdmin
- )
- :UACprompt
- echo Set UAC = CreateObject^(Shell.Application^) > %temp%getadmin.vbs
- echo UAC.ShellExecute %~s0, , , runas, 1 >> %temp%getadmin.vbs
- %temp%getadmin.vbs
- exit /B
- :gotAdmin
- if exist %temp%getadmin.vbs ( del %temp%getadmin.vbs )
- pushd %CD%
- CD /D %~dp0
- :--------------------------------------
- :start
- echo.
- echo.
- echo.
- :Set_localTemp
- setlocal enabledelayedexpansion
- :Set_NetConnectionID
- rem 獲取設置網絡連接名稱
- echo.
- echo選擇網絡連接名稱
- echo.
- set str=DefaultIPGateway^,IPAddress^,DNSServerSearchOrder^,IPSubnet^,DHCPEnabled
- for /f skip=1tokens=1* %%i in ('wmic Nic where Manufacturer<>'Microsoft' and NetConnectionStatus='2' get Index^,NetConnectionID^') do (
- for /f tokens=1* delims=: %%j in (%%j) do (
- set $%%i=%%j
- echo.
- echo 適配器_名_NName: %%j
- set NetConnectionName=%%j
- for /f delims= %%a in ('powershell '%%j'.Trim()') do set NetConnectionName=%%a
- for /f tokens=1-3delims={}, %%a in ('wmic Nicconfig where Index='%%i' get %str% /value') do (
- for /f %%c in (%%c) do if /i %%a == DNSServerSearchOrder= set DNS2=%%c
- for /f %%c in (%%a%%~b) do set %%c
- )
- if /i !DHCPEnabled! == TRUE (
- echo 適配器_IP_模式 : 自動
- ) else echo 適配器_IP_模式 : 手動
- IF not defined Net_IP set Net_IP=!IPAddress!
- echo 適配器_IP_地址 : !IPAddress!預置_IP_地址 : !Net_IP_Diy!
- IF not defined Net_MASK set Net_MASK=!IPSubnet!
- echo 適配器_子網掩碼: !IPSubnet! 預置_子網掩碼: !Net_MASK!
- IF not defined Net_gateway set Net_gateway=!DefaultIPGateway!
- echo 適配器_默認網關: !DefaultIPGateway!預置_默認網關: !Net_gateway!
- IF not defined Net_dnsPra set Net_dnsPra=!DNSServerSearchOrder!
- echo 適配器_首選_DNS: !DNSServerSearchOrder! 預置_首選_DNS: !Net_dnsPra!
- IF defined dns2 set Net_dns2=!DNS2! &echo 適配器_備用_DNS :!DNS2!預置_備用_DNS: !Net_dns2!
- )
- )
- echo.
- echo.
- echo 請輸入數字選擇下一步操作
- echo1:設置IP
- echo2:清空IP
- echo3:DNS固定
- echo4:DNS清空
- echo ============= 按0直接退出=============
- set /P var=:
- if %var%==1 goto ipstatic
- if %var%==2 goto ipdhcp
- if %var%==3 goto dnsstatic
- if %var%==4 goto dnsdhcp
- if %var%==0 exit
- echo 錯誤:非法輸入!
- goto start
- :ipstatic
- echo %NetConnectionName%
- echo 設置IP...
- netsh interface ipv4 set address name=%NetConnectionName% source=static %Net_IP_Diy% %net_MASK% %Net_gateway%
- ipconfig /flushdns
- echo **IP設置為%Net_IP_Diy%,子網掩碼設置為%net_MASK%,默認網關設置為%Net_gateway%,設置成功**
- echo ------------------------------------------
- goto start
- :ipdhcp
- netsh interface ip set address name=%NetConnectionName% source=dhcp
- ipconfig /flushdns
- echo **IP設置為DHCP獲取,設置成功**
- echo ------------------------------------------
- goto start
- :dnsstatic
- echo 設置DNS...
- netsh interface ipv4 set dns name=%NetConnectionName% static addr=%Net_dnsPra% register=PRIMARY
- netsh interface ipv4 add dns name=%NetConnectionName% addr=%Net_dnsOrder% index=2
- ipconfig /flushdns
- echo **首選DNS設置為%Net_dnsPra%,備用DNS設置為%Net_dnsOrder%,設置成功**
- echo ------------------------------------------
- goto start
- :dnsdhcp
- echo 清除DNS...
- netsh interface ip delete dns %NetConnectionName% all
- ipconfig /flushdns
- echo **DNS設置為自動獲取,設置成功**
- echo ------------------------------------------
- goto start
nclick="copycode($('code0'));">復制代碼
IP地址哪里需要自行修改,其余的不需要在修改