【发布时间】:2020-03-01 01:07:56
【问题描述】:
我在调用批处理文件时定义了一些参数:
:: Usertype:I,C
set Usertype=%~1
set Deltaval=%~2
If Usertype=="C" set Gender=NA
set Gender=%~3
If Gender==NA
(
goto
END
)
但是,我在 If Usertype=="C" set Gender = NA 行遇到了以下错误: 该命令的语法不正确。
有解决办法吗?
【问题讨论】:
-
实际上,不,您还有更多问题。你忘记了
%,它定义了单词是变量。if /I "%userType%"=="C"您还需要解释您正在尝试做什么,因为%usertype%当前的值是:~1和%dataval%的值是~2所以不确定您打算在哪里使用它。我建议你阅读一些帮助文件。打开cmd并输入set /?和if /?,最后,goto和END在不同的行上,我没有看到:END标签定义。 -
在设置像
set Gender = NA这样的变量时也不能有空格,因为这将创建一个带有空格%Gender %的变量和一个带有前导空格的值。 -
@GerhardBarnard 谢谢。复制时出现一些错误。我已经更新了代码...
-
好的。你看过我的 cmets 如何使用变量吗?
-
是的。但是我想要做的是用户类型是第一个参数Deltaval是第二个参数如果用户类型是“C”然后设置性别== NA。否则,我们必须将 Gender 作为第三个参数。