用户键入响应后,Windows 7 bat文件关闭

时间:2015-10-17 15:29:17

标签: batch-file windows-7-x64

我正在尝试编写一个bat文件,在启动时会提示用户。我可以获得用户提示但是出错并且bat文件关闭。基本上,如果答案是y,则调用vb处的path,如果答案为n,则bat退出。下面的语法是否接近?谢谢你:)。

@ECHO OFF

:choice
set /P c=Do you want to send the DOSE report[y/n]?
if /I "%c%" EQU "Y" goto :L:\NGS\test_email_DOSE.xlsx
if /I "%c%" EQU "N" goto :exit
goto :choice
pause 
exit

2 个答案:

答案 0 :(得分:1)

试试这个:

@ECHO OFF
:choice
set /P c=Do you want to send the DOSE report[y/n]?
if /i %c%==y ( 
  L:\NGS\test_email_DOSE.xlsx
) else if /i not %c%==n goto choice
pause 

在此脚本中,仅当答案不是“y”时才会到达第二个if。此外,您使用的goto始终需要标签才能跳转到。路径不是标签。

我当然假设L:\NGS\test_email_DOSE.xlsx是一条有效路径。

当我在我的电脑上运行它时会产生以下内容(我将文件保存为decide.cmd):

D:\tmp>decide
Do you want to send the DOSE report[y/n]?d
Do you want to send the DOSE report[y/n]?f
Do you want to send the DOSE report[y/n]?y  // (the Excel file is opened)  
Press any key to continue . . .

D:\tmp>

答案 1 :(得分:0)

我可能会这样走。以前的答案会很好。但在我看来,这种方法看起来更清晰。

@ECHO OFF
:choice
SET /P c=Do you want to send the DOSE report [Y/N]? 
IF /I %c%==Y (START "" "L:\NGS\test_email_DOSE.xlsx")
IF /I %c%==N GOTO :EOF
GOTO :choice