batch实现交互式问询
2016-07-01 12:26
218 查看
需求: 在一个batch脚本里需要用户确认某个信息是否正确。如果正确,那么输入yes,继续后面的工作;如果不正确,输入no,然后提示用户输入正确的值,并读入这个值赋给变量,然后继续后面的工作;如果输入既非yes又非no,提示用户重新输入yes或no,然后再回到前面的判断。
实现:
set VAR=123456
current VAR is %VAR%
echo If confirmed, please input y;otherwise input n: (y/n)
echo off
set /p CHECK_VAR=
echo off
IF not "%CHECK_VAR%" == "y" (
IF not "%CHECK_VAR%" == "n" (
echo Invalid input, try again.
echo If VAR value is confirmed, please input y ;otherwise input n:(y/n)
echo off
set /p CHECK_VAR=
)
)
IF "%CHECK_VAR%" == "y" goto Unchanged
IF "%CHECK_VAR%" == "n" goto Input_VAR
:Unchanged
echo %VAR% is not changed
goto Continue
:Input_VAR
echo Please input the new value of VAR:
echo off
set /p VAR=
goto Continue
:Continue
common_actions
事后分析:因为对batch不熟悉,所以不知道这是不是唯一的方法。一开始没有想到把common_action定义成一个label,即没有goto Continue那一句。结果每次执行完Unchanged lable的内容紧接着就执行Input_VAR的,没有实现跳转。后来在网上找了一个类似的例子,才解决了这个问题。希望以后熟悉batch了,能优化这个方案。
实现:
set VAR=123456
current VAR is %VAR%
echo If confirmed, please input y;otherwise input n: (y/n)
echo off
set /p CHECK_VAR=
echo off
IF not "%CHECK_VAR%" == "y" (
IF not "%CHECK_VAR%" == "n" (
echo Invalid input, try again.
echo If VAR value is confirmed, please input y ;otherwise input n:(y/n)
echo off
set /p CHECK_VAR=
)
)
IF "%CHECK_VAR%" == "y" goto Unchanged
IF "%CHECK_VAR%" == "n" goto Input_VAR
:Unchanged
echo %VAR% is not changed
goto Continue
:Input_VAR
echo Please input the new value of VAR:
echo off
set /p VAR=
goto Continue
:Continue
common_actions
事后分析:因为对batch不熟悉,所以不知道这是不是唯一的方法。一开始没有想到把common_action定义成一个label,即没有goto Continue那一句。结果每次执行完Unchanged lable的内容紧接着就执行Input_VAR的,没有实现跳转。后来在网上找了一个类似的例子,才解决了这个问题。希望以后熟悉batch了,能优化这个方案。
相关文章推荐
- Shell 脚本编程陷阱
- VBS脚本写的Windows硬件检测工具分享
- 用vbscript实现隐藏任务栏图标的脚本
- 用autoit编写第一个脚本(Hello World)
- VBS调用WMI快速关闭IE的脚本
- Oracle数据库执行脚本常用命令小结
- 收集的ROS防火墙脚本
- JSP脚本漏洞面面观
- 不错的批处理脚本 第一部分
- VBS脚本加密/解密VBS脚本(简易免杀版1.1)
- 不错的批处理脚本实例代码 第二部分
- 使用脚本和批处理清除电脑中的痕迹的代码第1/2页
- 让你的脚本说话
- Lua脚本获取喜马拉雅MP3音频地址
- SQL Server中数据行批量插入脚本的存储实现
- 编程界主流脚本编程语言的比较和选择
- 批量文件查找替换功能的vbs脚本
- Powershell脚本的4种执行权限介绍
- Windows Powershell 执行文件和脚本