有没有办法提示用户从可在 XP 和 Windows 2003 服务器上运行的 Windows 批处理脚本中输入输入(即:是/否)?似乎某些命令(即:选择)仅适用于一个操作系统而不适用于其他操作系统。
Marcus Leon
问问题
17577 次
6 回答
8
使用带有 /P 开关的SET命令。
于 2009-02-19T20:16:38.533 回答
6
SET /P RESULT=Y or N?
ECHO %RESULT%
于 2009-02-20T00:01:13.500 回答
6
请注意,该SET /P
命令不支持与该CHOICE
命令相同的所有功能。即:
- 它不限制用户输入有效值
- 用户必须按回车
- 您必须检查大小写差异(例如“A”与“a”)
- 没有办法在一定时间后默认某个选择
由于这些原因,我仍然更喜欢使用CHOICE
命令而不是SET /P
命令。为此,您只需要在批处理文件中包含CHOICE.COM 。您可以通过MS-DOS 6.22 Supplemental Disk从 Microsoft下载CHOICE.COM。这是链接:
于 2009-11-10T16:20:20.150 回答
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]: "
到目前为止,它对我来说效果很好。
于 2015-08-20T19:20:07.430 回答
1
例如你可以使用这个:
SET /P ANSWER=y OR n?
If "%answer%"=="y" goto yes
If "%answer%"=="n" goto no
享受!
于 2012-05-06T07:23:28.443 回答
-1
Windows Millenium 的 CHOICE.COM 在 XP SP3 下对我来说可以正常工作。但是,我的语言是匈牙利语,但您可能会找到它的原始英文变体,例如搜索“windows millenium ebd”。
http://s000.tinyupload.com/index.php?file_id=57468192666746678653
于 2017-09-14T11:07:32.547 回答