Take the 2-minute tour ×

I have a batch file with the following code:

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

This is returning an error message of "/NNotesLoad was unexpected at this time" because the second bracket is effectively closing the FOR block.

I have to leave the (local) as the /S parameter. How do I escape the brackets in the dtsrun line?

share|improve this question

2 Answers 2

up vote 4 down vote accepted

Try replaceing /S(local) with /S%computername% or /S. or /Slocalhost. All of these should accomplish the same thing w/o using parens.

Alternatively, you can use the caret ^ to escape the parens:

dtsrun /S^(local^) ...

thanks, mark

share|improve this answer
the caret was the solution for escaping the brackets. thanks –  benPearce May 28 '09 at 3:07

At the possible loss of some readability, you can put all those commands on the same line and do away with the need for brackets in your for loop.

for blah blah blah do command 1 && command 2 && command 3 && command 4
share|improve this answer

Your Answer


