Batch file x在这个时候出人意料

Batch file x在这个时候出人意料,batch-file,cmd,Batch File,Cmd,好吧,我对所有这些都是相当陌生的,但我尝试编写了一个小项目选择器批处理文件。(我不确定该怎么称呼它,但这相当于按下Win+P并从中选择它。无论如何,我做了这个小东西,一旦我运行它,一切都会顺利进行,它确实起作用,但无论出于什么原因,当我确认我的选择时,它说,Y此时出乎意料。N此时出乎意料。不是一个大的deal、 只是想知道为什么会发生这种情况,以及我如何修复它。提前谢谢:) 似乎您已经混淆了如果ERRORLEVEL起作用时是如何工作的。此语句只接受整数 例如,这项工作: CHOICE /T 1

好吧,我对所有这些都是相当陌生的,但我尝试编写了一个小项目选择器批处理文件。(我不确定该怎么称呼它,但这相当于按下Win+P并从中选择它。无论如何,我做了这个小东西,一旦我运行它,一切都会顺利进行,它确实起作用,但无论出于什么原因,当我确认我的选择时,它说,
Y此时出乎意料。N此时出乎意料。
不是一个大的deal、 只是想知道为什么会发生这种情况,以及我如何修复它。提前谢谢:)


似乎您已经混淆了如果ERRORLEVEL起作用时
是如何工作的。此语句只接受整数


例如,这项工作:

CHOICE /T 15 /D N /M "Is this the setting you would like to keep? If no option is selected in 15 seconds, the display will revert to [PC ONLY] Display: "

IF ERRORLEVEL 2 GOTO NO
IF ERRORLEVEL 1 GOTO YES
因为默认情况下,
CHOICE
提供了一个YN选项。这里是默认选择的errorlevel

  • 2
    ==
    N
  • 1
    ==
    Y

如果ERRORLEVEL
起作用,您似乎对
的工作原理感到困惑。此语句只接受整数


例如,这项工作:

CHOICE /T 15 /D N /M "Is this the setting you would like to keep? If no option is selected in 15 seconds, the display will revert to [PC ONLY] Display: "

IF ERRORLEVEL 2 GOTO NO
IF ERRORLEVEL 1 GOTO YES
因为默认情况下,
CHOICE
提供了一个YN选项。这里是默认选择的errorlevel

  • 2
    ==
    N
  • 1
    ==
    Y

如果ERRORLEVEL Y
,则不存在
这种情况。在命令提示窗口中运行
choice/?
,可以读取:ERRORLEVEL环境变量设置为从选项集中选择的键的索引。列出的第一个选项返回值1,第二个选项返回值2,依此类推。因此,按
/C POXD
而不是
/C 1234
D
将错误级别设置为
4
X
设置
3
O
设置
2
P
设置
1
。顺便说一句:如果ERRORLEVEL 1转到Internal,则代码中的
行是不必要的。另请阅读MS支持文章。如果ERRORLEVEL Y
,则不存在
。在命令提示窗口中运行
choice/?
,可以读取:ERRORLEVEL环境变量设置为从选项集中选择的键的索引。列出的第一个选项返回值1,第二个选项返回值2,依此类推。因此,按
/C POXD
而不是
/C 1234
D
将错误级别设置为
4
X
设置
3
O
设置
2
P
设置
1
。顺便说一句:如果ERRORLEVEL 1转到Internal,则代码中的
行是不必要的。另请阅读MS支持文章。