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