1

最近我在批处理文件中遇到了另一个问题。在我想要执行某些操作的地方,我收到以下错误:

=此时出乎意料。

我以前遇到过这个错误,但它总是由于我修复的一个小错误。这次我认不出来了。

choice /c 12b /n
if %errorlevel%==1 (
if not exist C:\ntbobdings\1.txt (
set bding=Variable
set bdingno=1
goto IfNot
)

怎么了?这是一个很小的区域,但if %errorlevel%==1 (blah)看起来还不错。

4

2 回答 2

6

问题是如果您使用的变量没有返回值 - 什么都没有。因此,您正在输入:

if ==value Echo Test.

为了避免围绕"'s 中的变量,即使它没有您输入的值:

if ""=="value" Echo Test.

换句话说,只需:

choice /c 12b /n
if "%errorlevel%"=="1" (
    if not exist C:\ntbobdings\1.txt (
    set bding=Variable
    set %bdingno%=1
    goto IfNot
))

这应该可以正常工作并帮助您了解问题所在。

莫娜。

于 2013-11-06T23:46:46.073 回答
2

尝试这个:

@ECHO OFF &SETLOCAL
choice /c 12b /n
if %errorlevel%==1 (
    if not exist C:\ntbobdings\1.txt (
        set bding=Variable
        set bdingno=1
        goto IfNot
    )
)
goto:eof
:ifnot
echo Hello world!
于 2013-11-07T01:11:01.740 回答