Skip to content

Instantly share code, notes, and snippets.

@leadscloud
Created July 6, 2017 05:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leadscloud/2bbbd582f0de73ba91c5bdb72074b12c to your computer and use it in GitHub Desktop.
Save leadscloud/2bbbd582f0de73ba91c5bdb72074b12c to your computer and use it in GitHub Desktop.
Windows下 切换IP脚本, 方便一键切换翻墙
:: Created by Ray <http://www.love4026.org>
:: Date 2017-07-06
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
color 0c
@echo =================================
@echo 请以管理员权限运行此脚本!
@echo =================================
call :showinfo
goto end
)
@echo off
color 0a
title 翻墙切换IP脚本
:start
@echo ---------------------------------
@echo 请选择你现在的位置:
@echo 1.不翻墙(启用DHCP)
@echo 2.需要翻墙(固定IP)
@echo ---------------------------------
set /p sLocal=请选择:
if %sLocal%==1 goto dhcp
if %sLocal%==2 goto static
cls
@echo 选择错误,请重新选择
goto start
:dhcp
@echo 正在设置无线网络连接为DHCP模式
netsh interface ip set address 以太网 dhcp
netsh interface ip set dns 以太网 dhcp
goto end
:static
for /f "tokens=1,2 delims=: " %%i in ('ipconfig /all ^|find /i "以太网适配器"') do set netname=%%j
echo 网络连接名字: %netname%
@echo 请设置IP地址,电脑主机后面贴纸上有
set /p IPA=IP地址:
@echo 正在设置 以太网 连接为固定IP: %IPA%
netsh interface ip set address %netname% static %IPA% 255.255.255.0 192.168.10.200
netsh interface ip set dns %netname% static 192.168.10.200
@echo ---------------------------------
@echo 刷新DNS缓存
@echo ---------------------------------
ipconfig /flushdns
@echo ---------------------------------
@echo 获取当前ip配置
@echo ---------------------------------
ipconfig
:end
echo 设置完成,按任意键退出......
Pause
:showinfo
for /f "tokens=1,2 delims=: " %%i in ('ipconfig /all ^|find /i "以太网适配器"') do set netname=%%j
for /f "tokens=16" %%i in ('ipconfig ^| find /i "IPv4 地址"') do set ip=%%i
for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "子网掩码"') do set mask=%%i
for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "默认网关"') do set gw=%%i
for /f "tokens=4 delims=: " %%i in ('netsh interface ip show dns %netname% ^|find "DNS 服务器"') do set dns=%%i
for /f "tokens=1,2 delims=: " %%i in ('ipconfig /all ^|find /i "以太网适配器"') do set netname=%%j
echo 本机IP为: %ip%
echo 本机子网掩码为: %mask%
echo 本机默认网关为: %gw%
echo 本机DNS为: %dns%
echo 网络连接名字: %netname%
echo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment