我在调用批处理文件时定义了一些参数:
:: Usertype:I,C
set Usertype=%~1
set Deltaval=%~2
If Usertype=="C" set Gender=NA
set Gender=%~3
If Gender==NA
(
goto
END
)
但是,我在第行出现问题,如果Usertype ==“ C”设置Gender = NA 并出现以下错误: 该命令的语法不正确。
有什么解决办法吗?
我在调用批处理文件时定义了一些参数:
:: Usertype:I,C
set Usertype=%~1
set Deltaval=%~2
If Usertype=="C" set Gender=NA
set Gender=%~3
If Gender==NA
(
goto
END
)
但是,我在第行出现问题,如果Usertype ==“ C”设置Gender = NA 并出现以下错误: 该命令的语法不正确。
有什么解决办法吗?
这就是我要告诉你的,您需要使用%
来定义用作变量的单词,而不是将其视为纯文本。
:: Usertype:I,C
set "Usertype=%~1"
set "Deltaval=%~2"
If /i "%Usertype%"=="C" If /i "%Usertype%"=="I" (
set "Gender=NA"
) else (
set "Gender=%~3"
)
If "%Gender%"=="NA" goto :eof
或者您可以
:: Usertype:I,C
set "Usertype=%~1"
set "Deltaval=%~2"
If /i not "%Usertype%"=="C" If /i not "%Usertype%"=="I" do something