Batch file 命令中带括号的循环批处理

Batch file 命令中带括号的循环批处理,batch-file,for-loop,escaping,Batch File,For Loop,Escaping,我有一个批处理文件,代码如下: 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 ) 这将返回一条错误消息“/NNo

我有一个批处理文件,代码如下:

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块

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

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


但是我仍然想知道括号转义的答案。

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

因此,它将是:

/S^(local^)