我正在编写一个将运行我的自动化脚本的批处理文件。但是,我想在每次测试完成后要求用户允许继续操作?在这种情况下可以做些什么?此外,我试图在文件中放置有意义的命令行语句,但无法这样做。下面是我的批处理文件。
cd C:\Automation
ruby may11.rb
@ECHO OFF PAUSE
ruby multiYear.rb
@ECHO OFF PAUSE
ruby testcase2_mktAdjustment.rb
:choice
@ECHO OFF set /P c=Do you want to exit [y/n]?
if /I "%c%" EQU "Y" goto :optA
if /I "%c%" EQU "N" goto :optB
goto :choice
:optA
pause
exit
:optB
cmd /k
一旦脚本完成,它就会进入无限循环选项A& B选择'否'退出。
请帮忙。
阿布舍克巴克
答案 0 :(得分:1)
提示继续提示的一种非常简单的方法是使用以下语句:
@echo Press Ctrl+C to quit now or
@pause
这将输出以下内容:
Press Ctrl+C to quit now or
Press any key to continue . . .
按Ctrl + C将要求用户通过声明
确认取消批处理文件Terminate batch job (Y/N)?
只有 Y 或 N 才有效。按任何其他键,它将再次询问。
答案 1 :(得分:1)
@echo off
setlocal
cd C:\Automation
ruby may11.rb
PAUSE
ruby multiYear.rb
PAUSE
ruby testcase2_mktAdjustment.rb
:select
set /P c=Do you want to exit [y/n]?
if /I "%c%" EQU "Y" goto optA
if /I "%c%" EQU "N" goto optB
goto select
:optA
pause
exit
:optB
:: no idea what you want to do here...
@echo off
命令关闭echo
命令。 @
实际上会为当前命令关闭echo
,因此ECHO OFF
不会出现。
以您的方式使用它只会在屏幕上重现该行作为消息,仅此而已。它不会pause
或set
任何内容,只需显示关键字echo
之后的行。
我改变了一些其他的东西。
:选择变为:选择因为choice
是批处理关键字,最好避免作为标签。
goto
中的冒号不是必需的,最好省略。
没有迹象表明您想要对n
输入做什么。
您的set
命令未被执行。 c
未被设置,因此两个if
测试都失败了,只是进入了一个无限循环。