2014-10-15 4 views
0

У меня есть эта строка в пакетном файле Windows:Append вывод в файл: «Файл не найден»

dir /a-d "E:\Reports_PreDelivery\*" && (xcopy /D /V E:\Reports_PreDelivery\* \\ServerName\Folder\Procedures) 

Это все работает правильно. Я хотел бы войти вывод в файл, так что я пробовал:

dir /a-d "E:\Reports_PreDelivery\*" && (xcopy /D /V E:\Reports_PreDelivery\* \\ServerName\Folder\Procedures) >> C:\logs\reports_transmit.log 

Выход редирект не похоже на работу. Список каталогов все еще отображается в окне cmd (вместо перенаправления), а затем попадает в ошибку «Файл не найден», как будто он пытается запустить dir для чего-то неправильно. Я также пробовал 2>&1 в конце тоже, не повезло.

ответ

1

Ваше перенаправление не в том месте. Он применяется только к условной команде XCOPY.

Попробуйте разместить круглые скобки вокруг всего и перенаправить за пределы этого.

(dir /a-d "E:\Reports_PreDelivery\*" && xcopy /D /V E:\Reports_PreDelivery\* \\ServerName\Folder\Procedures) >>C:\logs\reports_transmit.log 2>&1 
+0

Исправлена ​​формулировка «трубопровод», спасибо. Любая причина, по которой вы перемещали существующие круглые скобки? – JBurace

+0

@JBurace - они не нужны, если нет перенаправления. Я предполагаю, что вы хотите захватить весь вывод, так что это то, что делает мой код. Если вы просто хотите захватить вывод команды DIR, чем переместить перенаправление перед оператором '&&', и вы можете отменить круглые скобки. – dbenham

Смежные вопросы