пакет для петли со скобкой в ​​команде - PullRequest
3 голосов
/ 28 мая 2009

У меня есть командный файл со следующим кодом:

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 для локального как.

Но я все равно хотел бы получить ответ на вопрос о скобках.

1 Ответ

4 голосов
/ 28 мая 2009

Решением для экранирования скобок является префикс с помощью символа ^

Так что это будет читать:

/S^(local^)
...