Пакет для петли со скобкой в команде
У меня есть командный файл со следующим кодом:
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?
2 ответа
Решение
Попробуйте заменить /S(локально) на /S% имя_компьютера% или /S. или /Slocalhost. Все это должно быть выполнено без использования паренов.
В качестве альтернативы, вы можете использовать символ ^, чтобы избежать скобок:
dtsrun / S ^ (местный ^) ...
спасибо отметка
При возможной потере читабельности вы можете поместить все эти команды в одну строку и избавиться от необходимости использовать скобки в цикле for.
for blah blah blah do command 1 && command 2 && command 3 && command 4