【问题标题】:batch for loop with bracket in the command命令中带括号的批处理循环
【发布时间】:2010-10-29 11:01:19
【问题描述】:

我有一个包含以下代码的批处理文件:

for /f "tokens=*" %%a in ('dir /b /a-d') do (
 echo Processing %%a >>%LOG%
 dtsrun /S(local) /NNotesLoad /A"FilePath:8="%NOTESDIR%\%%a" /AClientID=%1 >>%LOG%

 echo Deleting %%a >>%LOG%
 del %%a /q
)

这将返回“/NNotesLoad 此时意外”的错误消息,因为第二个括号有效地关闭了 FOR 块。

我必须将 (local) 保留为 /S 参数。
如何转义 dtsrun 行中的括号?

编辑:原来你可以在 dtsrun 中为本地指定服务器。

但我仍然想要括号转义的答案。

【问题讨论】:

    标签: batch-file for-loop escaping


    【解决方案1】:

    转义括号字符的解决方案是用插入符号作为前缀^

    所以它会这样写:

    /S^(local^)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      相关资源
      最近更新 更多