【问题标题】:Unbalanced parenthesis and missing operator in batch file批处理文件中的不平衡括号和缺少运算符
【发布时间】:2014-04-16 19:04:38
【问题描述】:

以下代码在 for 循环的开头和结尾处的命令提示符上生成“不平衡括号”,并在 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..
)

【问题讨论】:

  • 您确定所有错误都来自 bat 脚本吗?但不是来自java代码?你在 GenericAxlTool 类中有什么?
  • 变量是否包含括号。
  • 您是否尝试过启用delayed expansion
  • 与错误无关,但我假设您想附加到“output.tmp”。要附加到文件,请使用 >> 而不是 >
  • @npocmakayes 错误仅来自 BAT。该类仅用于调用网络服务。

标签: windows batch-file command-line


【解决方案1】:

产生“不平衡括号”的唯一方法。和“缺少操作员”。与set /a 命令:

>set /a (
Missing operand.

>set /a (-1
Unbalanced parenthesis. 

但在您发布的代码中没有SET /A 调用。

所以或者在您的某些变量中存在set /a 作为字符串,或者它在您的脚本的另一部分中失败。

【讨论】:

  • 设置 /A STARTTIME=(1%STARTTIME:~0,2%-100)*360000 + (1%STARTTIME:~3,2%-100)*6000 + (1%STARTTIME: ~6,2%-100)*100 + (1%STARTTIME:~9,2%-100) 你能在这里指导我吗?
  • @MalTec STARTTIME 是如何创建的?它包含什么?
  • 使用 %time% 变量是个坏主意,因为不同机器上的时间设置可能/会有所不同。您是否安装了 powershell?
  • 是的。我使用 starttime 和 endtime 来衡量执行时间。那么这有关系吗?设置 /a starttime 和括号的解决方案是什么?
  • @MalTec 更好地使用 for /f %%t in ('powershell "(get-date).tofiletime()"') do set starttime=%%t 它将直接从 1,1,1900 开始以毫秒为单位设置时间。并且不会取决于您的时间设置。
【解决方案2】:

UIAM Batch 代码没有“不平衡括号”错误消息 - 它只是静默失败。

错误似乎来自 Java 代码。

【讨论】:

  • UIAM 是什么意思?甚至城市词典也没有这样的东西:-)
  • 它的意思是“Unless I am mistaken”,你已经证明我是。 set /a 有该错误消息。 :)
  • 我的代码中没有java,只是Win CMD;得到不平衡的括号。缺少运算符。当我用括号 () 将代码括起来以制作代码块时出现错误。执行还是不错的。
【解决方案3】:

CMD shell 已被编程为将第一个右括号 ) 解释为与代码块中的第一个左括号 ( 相关联。

在括号中分组代码时,我遇到了同样的错误。 在这里找到一个讨论:https://ss64.com/nt/syntax-brackets.html

可能会帮助某人解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    相关资源
    最近更新 更多