有没有办法从可在XP和Windows 2003服务器上运行的Windows批处理脚本中提示用户输入(即:是/否)?似乎有些命令(即:选择)仅适用于一个操作系统,而不适用于其他操作系统。
答案 0 :(得分:8)
将SET命令与/ P开关一起使用。
答案 1 :(得分:6)
SET /P RESULT=Y or N?
ECHO %RESULT%
答案 2 :(得分:6)
请注意,SET /P
命令不支持与CHOICE
命令相同的所有功能。即:
由于这些原因,我仍然更喜欢使用CHOICE
命令而不是SET /P
命令。为此,您只需要将 CHOICE.COM 与批处理文件一起包含在内。您可以通过 MS-DOS 6.22 Supplemental Disk 从Microsoft下载 CHOICE.COM 。这是链接:
答案 3 :(得分:2)
这基本上模仿了选择的作用,你需要将它作为子程序放在批处理文件中。我也更喜欢选择,但我需要一些可在Windows XP上运行的便携式设备。
然后,您可以修改此选项以接受其他"选项,"但是这将作为不区分大小写的情况起作用并重复提示,直到用户明确输入Y,y,N或n。
:yesorno
set /p choice=%2
if /i NOT %choice% == n (
if /i NOT %choice% == y goto yesorno
)
set "%~1=%choice%"
goto :eof
然后您将通过以下方式调用此子例程:
call :yesorno answer "Do you want to continue? [Y/n]: "
到目前为止,它一直很适合我。
答案 4 :(得分:1)
例如你可以使用它:
SET /P ANSWER=y OR n?
If "%answer%"=="y" goto yes
If "%answer%"=="n" goto no
享受!
答案 5 :(得分:-1)
Windows Millenium的CHOICE.COM在XP SP3下可以正常使用。 然而,我的是匈牙利语,但你可以找到它的原始英语版本,例如搜索" windows millenium ebd"。
http://s000.tinyupload.com/index.php?file_id=57468192666746678653