Batch for loop with bracket in the command

batch-fileescapingscripting

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?

Best Answer

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

Related Topic