2014-06-18 42 views
0

我写了一个只有一个选择命令的简单批处理文件。代码如下:批处理文件选择命令循环

Choice /C yn /M /t 5 "Do you want to continue" 
If Errorlevel 2 Goto No 


If Errorlevel 1 Goto Yes 

Goto End 
:No 
Echo You selected No 


Goto End 
:Yes 
Echo You selected Yes 


:End 

问题是当我运行它不等待输入..它循环通过,并没有停止。我不知道该怎么做,或者为什么它不起作用。我使用比这更复杂的选择命令创建了一个批处理文件,它工作正常。但是该文件也不适用于我的电脑。

另外,如果我在cmd中直筒型的选择命令它工作正常,但批处理文件循环

有什么建议?感谢

这里是一个视频的链接,准确显示其做http://youtu.be/4TkwlR7yMb8

回答

0

/M交换机是消息,则需要/M后的文本写。您还需要包含/D开关(默认值),因为您指定了必须用/T进行选择的时间。默认选项是如果用户没有进行选择(例如五秒钟),将自动选择的选项。以下示例将在时间结束时自动选择n

Choice /C yn /D n /T 5 /M "Do you want to continue" 

批处理文件的名称不能与批处理文件中使用的命令相同。当您拨打可执行文件(即choice)时,在查看path变量中的目录之前,cmd将在当前目录中查找该名称的文件。因此,由于批处理文件名为choice.bat,因此在运行命令choice /c ...时,实际上是在调用批处理文件本身,而不是choice命令。重新命名您的批处理文件。

+0

我会尝试,但我仍然不确定为什么我在工作中(语法是正确的)没有在我的电脑上工作,但工作正常...但我在这个文件中的错误显然是谢谢 – hackn101

+0

没有工作......你对我的语法的评估是正确的,谢谢你,但它仍然循环。它甚至会循环,如果我只是选择没有参数 – hackn101

+0

我无法复制您的问题。您提供的代码是否正确**您正在使用的是什么? – unclemeat