use*_*215 1 variables batch-file choice
最近我在批处理文件中遇到了另一个问题.在我想要执行某些操作的地方,我收到以下错误:
=此时出乎意料.
我以前遇到过这个错误,但总是由于我修复了一个小错误.这次我无法辨认出来.
choice /c 12b /n
if %errorlevel%==1 (
if not exist C:\ntbobdings\1.txt (
set bding=Variable
set bdingno=1
goto IfNot
)
Run Code Online (Sandbox Code Playgroud)
怎么了?这是一个很小的区域,但if %errorlevel%==1 (blah)似乎很好.
问题是如果你使用的变量没有它返回的值 - 那就什么都没有.因此,您输入:
if ==value Echo Test.
Run Code Online (Sandbox Code Playgroud)
为了避免将这个变量包含在"'s中,即使它没有输入值:
if ""=="value" Echo Test.
Run Code Online (Sandbox Code Playgroud)
换句话说就是:
choice /c 12b /n
if "%errorlevel%"=="1" (
if not exist C:\ntbobdings\1.txt (
set bding=Variable
set %bdingno%=1
goto IfNot
))
Run Code Online (Sandbox Code Playgroud)
这应该工作正常,并帮助你理解什么是错的.
莫娜.