Показать полную графическую версию : [решено] robocopy errorlevel
Столкнулся с ситуацией, когда возвращаемая ошибка не соответствует тому что происходило.
ROBOCOPY :: Robust File Copy for Windows :: Version XP026
-------------------------------------------------------------------------------
Started : Mon Aug 15 05:47:13 2016
Source : C:\DDATA_RAR\
Dest : \\dc01\f$\1c\
Files : ddata_2_20160815035423122.rar
Options : /FFT /COPY:DAT /NP /IPG:10 /R:5 /W:5
------------------------------------------------------------------------------
1 C:\DDATA_RAR\
New File 14.1 g ddata_2_20160815035423122.rar
2016/08/15 07:04:28 ERROR 64 (0x00000040) Copying File C:\DDATA_RAR\ddata_2_20160815035423122.rar
The specified network name is no longer available.
Waiting 5 seconds... Retrying...
New File 14.1 g ddata_2_20160815035423122.rar
2016/08/15 08:28:38 ERROR 64 (0x00000040) Copying File C:\DDATA_RAR\ddata_2_20160815035423122.rar
The specified network name is no longer available.
Waiting 5 seconds... Retrying...
New File 14.1 g ddata_2_20160815035423122.rar
------------------------------------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0 0 0
Files : 1 1 0 0 0 0
Bytes : 14.182 g 14.182 g 0 0 0 0
Times : 4:18:24 4:18:14 0:00:09 0:00:00
Speed : 982798 Bytes/sec.
Speed : 56.236 MegaBytes/min.
Ended : Mon Aug 15 10:05:38 2016
вернул errorlevel=0, хотя по документации 0 возврящается, когда не было копирования.
я ожидал errorlevel=1 (успешное копирование)
Return Code
The return code from Robocopy is a bit map, defined as follows:
Hex Bit Value Decimal Value Meaning If Set
16 Serious error. Robocopy did not copy any files. This is either a usage error or an error due to insufficient access privileges on the source or destination directories.
8 Some files or directories could not be copied (copy errors occurred and the retry limit was exceeded). Check these errors further.
4 Some Mismatched files or directories were detected. Examine the output log. Housekeeping is probably necessary.
2 Some Extra files or directories were detected. Examine the output log. Some housekeeping may be needed.
1 One or more files were copied successfully (that is, new files have arrived).
0 No errors occurred, and no copying was done. The source and destination directory trees are completely synchronized.
а как спрашивался errorlevel? сильно похоже на ту же каку с маком на которую я одного раза напоролся: возвращался errorlevel не с той команды с которой ожидался.
типа так:
robocopy ....
set roboerl=%errorlevel%
echo %roboerl% >>log.txt
if (%roboerl%)==(1) goto ok
Вроде как все хорошо и красиво. Должно работать как и запрошено. Разве что еще одно уточнение: дополнительных условий или циклов нет перед приведенным куском кода? Т.е. robocopy set echo if не в скобках? Если есть скобки то придется SETLOCAL ENABLEDELAYEDEXPANSION и спрашивать не %errorlevel% а !errorlevel!
Странно.. пришел на почту ответ от Iska
а его тут нет (
Опиум, Iska вчера явно перетрудился и начал пороть чушь. Спустя некоторое время он сие осознал и удалил своё сообщение. Потому уведомление есть, а сообщения (для пользователей, администраторы и модераторы его могут видеть) уже нет.
Попробуйте показать весь Ваш код.
Iska, ок, понял)
весь код незамысловат, но не играет роли, он достаточно плоский.
переделал так:
ren \\dc01\f$\1c\ddata_*.rar *.old
robocopy /FFT /r:5 /w:5 /IPG:10 C:\DDATA_RAR \\dc01\f$\1c %rarname%.rar /np /log+:%~dpn0_log.txt
set usberr=%errorlevel%
echo Copy to usb err: %usberr% >>%~dpn0_log.txt
if %usberr% LSS 2 del \\dc01\f$\1c\ddata_*.old >>%~dpn0_log.txt
но, повторяю, мне не нравится что errorlevel=0, хотя в доке написано другое.
Опиум, расширенная обработка команд интерпретатором у Вас включена (по умолчанию включена, но всё же, всё же, всё же)?
Добавьте:
echo [%errorlevel%]
set usberr=%errorlevel%
и посмотрите вывод.
Опиум, а с первым вопросом:
расширенная обработка команд интерпретатором у Вас включена »
?
Именно «[0]», не «[]», так?
Честно, эта тема достала.
не срабатывает даже
robocopy /mir /r:1 /w:1 /np /nfl /ndl /log:%~dpn0_temp.txt c:\1C_BASE C:\1C_BASE_COPY\
if not errorlevel 1 (Echo No changes. >>%~dpn0_temp.txt & set skiprar=1)
Хотя чётко написано 0 No errors occurred, and no copying was done. The source and destination directory trees are completely synchronized.
Нашел забавную статью про errorlevel (http://blogs.msdn.microsoft.com/oldnewthing/20080926-00/?p=20743)
но не знаю, про мою беду она или нет...
Нашел забавную статью про errorlevel »
Что там забавного?
Опиум,
по коду в #13
прекрасно скопировался файл asd.txt из в и лог на рабочем столе соответствующий:
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Начало: Tue Mar 14 12:52:18 2017
Источник : c:\1C_BASE\
Назначение : C:\1C_BASE_COPY\
Файлы: *.*
Параметры: *.* /NDL /NFL /S /E /COPY:DAT /PURGE /MIR /NP /R:1 /W:1
------------------------------------------------------------------------------
------------------------------------------------------------------------------
ВсегоСкопировано ПропущеноНесоответствие СБОЙДополнения
Каталогов : 1 0 1 0 0 0
Файлов : 1 1 0 0 0 0
Байт : 0 0 0 0 0 0
Время : 0:00:00 0:00:00 0:00:00 0:00:00
Окончание : Tue Mar 14 12:52:18 2017
not »
а, проглядел ... , м-да ...
явно "Ошибок не было, НО копирование производилось"
Что там забавного » не ожидал неоднозначного раскрытия %errorlevel%
но не суть. Думал что статья про мою беду, оказалось нет.
По теме есть мысли?
проглядел.. »
вы тоже поняли что что-то не так.
По теме есть мысли? »
тут хоть мысли хоть не мысли, но реалии этого:
@echo off
robocopy /mir /r:1 /w:1 /np /nfl /ndl /log:"%~dpn0_temp.txt" "C:\1C_BASE" "C:\1C_BASE_COPY"
>>"%~dpn0_temp.txt" (
echo:
echo ...ошибка=%errorlevel%
)
pause
таковы:
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Начало: Tue Mar 14 17:23:22 2017
Источник : C:\1C_BASE\
Назначение : C:\1C_BASE_COPY\
Файлы: *.*
Параметры: *.* /NDL /NFL /S /E /COPY:DAT /PURGE /MIR /NP /R:1 /W:1
------------------------------------------------------------------------------
------------------------------------------------------------------------------
ВсегоСкопировано ПропущеноНесоответствие СБОЙДополнения
Каталогов : 1 0 1 0 0 0
Файлов : 1 1 0 0 0 0
Байт : 0 0 0 0 0 0
Время : 0:00:00 0:00:00 0:00:00 0:00:00
Окончание : Tue Mar 14 17:23:22 2017
Копируем файл, ошибка=1
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Начало: Tue Mar 14 17:24:00 2017
Источник : C:\1C_BASE\
Назначение : C:\1C_BASE_COPY\
Файлы: *.*
Параметры: *.* /NDL /NFL /S /E /COPY:DAT /PURGE /MIR /NP /R:1 /W:1
------------------------------------------------------------------------------
------------------------------------------------------------------------------
ВсегоСкопировано ПропущеноНесоответствие СБОЙДополнения
Каталогов : 1 0 1 0 0 0
Файлов : 1 0 1 0 0 0
Байт : 0 0 0 0 0 0
Время : 0:00:00 0:00:00 0:00:00 0:00:00
Окончание : Tue Mar 14 17:24:00 2017
Файл уже скопирован, присутствует, ошибка=0
не ожидал неоднозначного раскрытия %errorlevel% »
Простите, всё равно не понял про неоднозначность. Можете прямо процитировать?
alpap, ты хочешь сказать что у тебя все ок? робокопи..из под какой версии windows?
Есть подозрение что все дело в разных версиях robocopy, простигосподи.
вот некорректная работа (под w2003):
C:\batch>robocopy /nfl c:\batch c:\batch\cmd *.cmd && echo ****
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows :: Version XP026
-------------------------------------------------------------------------------
Started : Tue Mar 14 19:50:12 2017
Source : c:\batch\
Dest : c:\batch\cmd\
Files : *.cmd
Options : /NFL /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
New Dir 15 c:\batch\
------------------------------------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 1 0 0 0 0
Files : 15 15 0 0 0 0
Bytes : 10.7 k 10.7 k 0 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Speed : 233936 Bytes/sec.
Speed : 13.385 MegaBytes/min.
Ended : Tue Mar 14 19:50:12 2017
****
C:\batch>robocopy /nfl c:\batch c:\batch\cmd *.cmd && echo ****
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows :: Version XP026
-------------------------------------------------------------------------------
Started : Tue Mar 14 19:51:03 2017
Source : c:\batch\
Dest : c:\batch\cmd\
Files : *.cmd
Options : /NFL /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
15 c:\batch\
------------------------------------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0 0 0
Files : 15 0 15 0 0 0
Bytes : 10.7 k 0 10.7 k 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Ended : Tue Mar 14 19:51:03 2017
****
таже команда, выполненная из под w7, звездочки выподит только при 2-м запуске.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.