有时内网开发时会修改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 备份文件已经存在,无需备份。
中间有个地方不完善,有时间再修改