我有一个包含以下代码的批处理文件:
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 行中的括号?
尝试将 /S(local) 替换为 /S%computername% 或 /S。或 /Slocalhost。所有这些都应该在不使用括号的情况下完成相同的事情。
或者,您可以使用插入符号 ^ 来转义括号:
dtsrun /S^(本地^) ...
谢谢,标记
在可能失去一些可读性的情况下,您可以将所有这些命令放在同一行,并在您的 for 循环中消除对括号的需要。