使用cmd修改host达到内外网环境切换

有时内网开发时会修改host指到内网的服务器环境,到了外网开发时,又要将host里面的记录删除

通过cmd脚本一键自动切换

@echo off
echo ================================================================
echo +                 内外网开发环境切换                          +
echo +                                                              +
echo +                【1】切换至内网开发环境                      +
echo +                                                              +
echo +                【2】切换至外网开发环境                      +
echo +                                                              +
echo ================================================================

echo  请输入要执行任务的序号并按回车,直接按回车切换至内网:

set BACKUP_DIR=dev-hosts
set OUT_HOST_FILE=hosts.outnet.bak
set IN_HOST_FILE=hosts.innet.bak


set e=1
set /p e=
cls
if %e%==1 goto neiwang
if %e%==2 goto waiwang


:neiwang
echo 建立内网开发环境
echo.
c:
cd \
if not exist %BACKUP_DIR% md %BACKUP_DIR%
if exist %BACKUP_DIR%\%OUT_HOST_FILE% goto backup_exists
echo 正在创建备份...
cd \windows\system32\drivers\etc
copy /y hosts \%BACKUP_DIR%\%OUT_HOST_FILE% > nul
echo 完成!
echo.
echo 正在写入...

echo 192.168.0.110 xxx.xxx.cn >> hosts
echo 完成!
echo.
echo 建立内网开发环境完成。按任意键退出……
pause > nul
exit

:waiwang
echo 建立外网开发环境
echo.
c:
cd \
if not exist %BACKUP_DIR%\%OUT_HOST_FILE% goto backup_not_exists
echo 正在还原备份……
copy /y \%BACKUP_DIR%\%OUT_HOST_FILE% \windows\system32\drivers\etc > nul
cd \windows\system32\drivers\etc
if exist hosts del /q hosts
ren %OUT_HOST_FILE% hosts
echo 完成!
echo.
echo 正在移除备份……
cd \
rmdir /s/q \%BACKUP_DIR%\
echo 完成!
echo.
echo 建立外网开发环境完成。按任意键退出……
pause > nul
exit

:backup_not_exists
echo 备份文件不存在,无法恢复。

:backup_exists
echo 备份文件已经存在,无需备份。

中间有个地方不完善,有时间再修改

你可能感兴趣的:(使用cmd修改host达到内外网环境切换)