windows批处理参数输入交互

简单的批处理只有一个窗口,如果当存在很多个批处理的时候,每个功能都不一样,可以把他们集成到一起,这时候可以对批处理进行交互操作,也就是传输参数,根据不同参数调用不同功能的批处理。

rem 关闭屏幕回显
@echo off

rem 设置延迟变量赋值
setlocal enabledelayedexpansion

rem 清屏
cls

rem 设置窗休最大高度和宽度
mode con: cols=70 lines=23

rem tt变量赋值
set tt=Mudbest. http://www.mdubest.com

rem 设置背景前景色,并设置显示窗休标题显示文字
color f9
title %tt%

rem 代码段标记
:_reChoose
cls

rem 空出一行
echo.

rem 打印屏幕交互菜单
echo     本脚本将导入指定IP信息,协助您高效完成IP地址等相关信息的设置。
echo.
echo         请选择网络环境:      
echo         1、私人住所
echo         2、单位办公室
echo         3、退出批处理
echo.

rem 等待用户输入
set /p chooseResult=请输入网络环境标识编号:【1/2】

rem 逻辑分支判断(/i参数表示勿略大小写)
if /i '%chooseResult%'=='' goto _reChoose
if %chooseResult% LSS 1 goto _reChoose
if %chooseResult% GTR 3 goto _reChoose

rem 选择环境编码1
if %chooseResult%==1 (
 echo.
 if exist d:/ipInfoBackUp_home.txt (
  netsh exec d:/ipInfoBackUp_home.txt
  echo IP地址等相关信息已成功导入--home环境
 ) else (
  echo 指定的IP地址信息文件不存在==》请确认是否执行过导出脚本。
 )
)

rem 选择环境编码2
if %chooseResult%==2 (
 echo.
 if exist d:/ipInfoBackUp_office.txt (
  netsh exec d:/ipInfoBackUp_office.txt
  echo IP地址等相关信息已成功导入--office环境
 ) else (
  echo 指定的IP地址信息文件不存在==》请确认是否执行过导出脚本。
 )
)

rem 选择环境编码3
if %chooseResult%==3 (
 echo.
 set /p answerResult=您确定要退出批处理吗?【Y/N】
 if /i "!answerResult!"=="Y" exit ::此处!号表示使用变量延迟赋值。
 if /i "!%answerResult!"=="N" goto _reChoose
 if /i not "!answerResult!"=="Y" if /i not "!answerResult!"=="N" echo 输入值非法!
)

:_reImp
echo.
set /p reImport=您是否还要继续导入?【Y/N】
if /i '!reImport!'=='Y' (
 goto _reChoose
) else if /i '!reImport!'=='N' (
 exit
) else (
 echo 输入值非法!--请重新输入...
        goto _reImp  
)

pause

rem 开启屏幕命令执行回显
@echo on