![]() |
Robocopy и errorlevel
Добрый день.
Нужно, чтобы при запуске скрипта, папки зеркально из разных директорий, копировались в другие директории, а при обнаружении ошибок cmd вставали на паузу и, в идеале, выводили описание ошибки. Вот сам скрипт: Код:
set source1=C:\Users\nameuser\AppData\... А еще я не понял, как сделать, чтобы errorlevel выводил сообщения:(. Но это не в приоритете Собственно, как сделать так, чтобы error level работал на все строчки, или, если знаете реализацию лучше, без использования cmd/robocopy - буду рада услышать. |
Код:
robocopy "%source1%" "%target1%" /NFL /COPY:DAT /DCOPY:T /R:10 /W:10 /MIR |
Собственно, так и сделал, временно но не уверен был, что реализация "правильная". Осталось как-нибудь добавить вывод описание ошибок:)
Благодарю! |
поприличней вроде
Код:
@echo off |
Ещё лучше написать функцию, но я не знаю, как это делается в CMD.
Вот вариант для Powershell версии 3 и новее: Код:
function Copy-Robocopy ($from,$to) { Лог пишется в ту же папку, где лежит <файл скрипта>.ps1 Кстати, успешное копирование в Робокопи - это коды возврата с 1 по 7 включительно. |
Цитата:
|
Цитата:
Код:
@echo off Цитата:
И в обоих вариантах, если в каталоге-назначения есть лишние папки/файлы, которых нет в исходном каталоге errorlevel не должны выдавать ошибку(код 2) и вставать на паузу? Собственно, в моем варианте, скрипт удаляет лишний каталог/файл и выдает--> Код:
... |
Цитата:
Код:
$t = get-date -f "yyyyMMdd-HHmmss" |
Цитата:
|
Время: 03:04. |
Время: 03:04.
© OSzone.net 2001-