代码之家  ›  专栏  ›  技术社区  ›  benPearce

命令中包含括号的批for循环

  •  3
  • benPearce  · 技术社区  · 15 年前

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

    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
    )
    

    由于第二个括号正在有效地关闭for块,因此这将返回一条错误消息“此时无法预期加载notesload”。

    我必须将(本地)保留为/s参数。
    如何避开dtsrun行中的括号?

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

    但我还是想回答一下逃亡的问题。

    1 回复  |  直到 15 年前
        1
  •  4
  •   benPearce    15 年前

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

    所以它应该是:

    /S^(local^)