以下代码生成"不平衡的括号"在for循环开始和结束时的命令提示符上以及" Missing Operator"在for循环结束时。但是,代码工作正常。我在其他相关问题中发现它主要是由于嵌套括号而发生,但即便如此也不存在。
for /R .\sql_queries %%m in (*.sql) do (
Echo Querying: %%~nm
::Querying with GAT - Refer "for /?" for help on %%x variables
java -Xms64m -Xmx512m -cp %mypath% com.app.GenericAxlTool -i %ip% -v 6.0 -a %axlVer% -d %DBVer% -u %userName% -p %password% -c sqlselect -f %%m >output.tmp
cd sql
ren *.tsv %%~nm.tsv >output.tmp
move %%~nm.tsv ..\Reports >output.tmp
cd..
)
答案 0 :(得分:1)
产生“不平衡括号”的唯一方法。和“失踪的操作员”。使用set /a
命令:
>set /a (
Missing operand.
>set /a (-1
Unbalanced parenthesis.
但是在你发布的代码中没有SET /A
调用。
在某些变量中,或者set /a
为字符串,或者在脚本的其他部分失败。
答案 1 :(得分:0)
UIAM批处理代码没有"不平衡的括号"错误消息 - 它只是无声地失败。
看起来错误来自Java代码。
答案 2 :(得分:0)
CMD shell已被编程为解释要与代码块中的第一个开括号ValueError: invalid literal for base 8 int(): 09
关联的第一个右括号)
。
将代码分组到方括号中时,我遇到了相同的错误。 在此处找到讨论:https://ss64.com/nt/syntax-brackets.html
可能会帮助他人解决问题。