我写了一个简单的批处理文件,里面只有一个Choice命令,代码如下:
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中键入choice命令,它会正常工作,但批处理文件会循环
有什么建议吗?谢谢
这里是一个链接到一个视频,显示它做什么http://youtu.be/4TkwlR7yMb8
1条答案
按热度按时间xzv2uavs1#
/M
开关用于Message,您需要在/M
之后写入文本。您还需要包括/D
开关(对于默认值),因为您使用/T
指定了用户必须进行选择的时间。默认选项是用户未在中进行选择时将自动选择的选项,例如,5秒。下面的示例将在时间结束时自动选择n
。批处理文件的名称不能与批处理文件中使用的命令相同。当调用可执行文件时(即
choice
),cmd会在path
变量中查找目录之前,先在当前目录中查找该名称的文件。因此,由于批处理文件名为choice.bat
,当你运行choice /c ...
命令时,你实际上是在调用批处理文件本身,而不是choice
命令。2重新命名你的批处理文件。