“)这时候出乎意料。”在 BATCH 中运行嵌套 IF
不知道为什么会发生这种情况。尝试抬头...我认为看起来不错。
IF not (%5) == () (
call %antPath% -f %buildFile% runSoapUI -DserviceName=%1 -DoperationName=%2 -DinputData=%3 -DlogID=%4 -DtestType=%5
) ELSE (
IF not (%4) == () (
call %antPath% -f %buildFile% runSoapUI -DserviceName=%1 -DoperationName=%2 -DinputData=%3 -DlogID=%4 -DtestType=FILE
) ELSE (
call %antPath% -f %buildFile% help
)
)
Not sure why this is happening. Tried looking up... looks fine I think.
IF not (%5) == () (
call %antPath% -f %buildFile% runSoapUI -DserviceName=%1 -DoperationName=%2 -DinputData=%3 -DlogID=%4 -DtestType=%5
) ELSE (
IF not (%4) == () (
call %antPath% -f %buildFile% runSoapUI -DserviceName=%1 -DoperationName=%2 -DinputData=%3 -DlogID=%4 -DtestType=FILE
) ELSE (
call %antPath% -f %buildFile% help
)
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
就像 Mat 所说,在 if 语句中使用括号是一个坏主意。
更好的是使用引号,因为它们可以防止 %n 内容中的许多特殊字符(如空格、
<>&|()
)出现问题。如果任何变量中都有一个
)
。您可以通过延迟扩展来解决这个问题。
Like Mat said, it's a bad idea to use brackets in the if statements.
Better is the use of quotes, as they prevent problems with many special characters like spaces,
<>&|()
in the content of %nYou could also get problems with your call statements if there is in any variable a
)
.You could solve this with delayed expansion.