Форум программистов, компьютерный форум, киберфорум
Наши страницы

Batch (CMD/BAT)

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 432, средняя оценка - 4.95
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
#1

Коды возврата ошибок (расшифровки ErrorLevel)* - CMD/BAT

20.12.2012, 22:21. Просмотров 74521. Ответов 32

Коды возврата ошибок (встроенных команд и других программ)

Как получить код возврата

Для новичков - очень подробно расписано в теме: Выполнение действия, если операция копирования прошла неуспешно

Порядок получения код возврата
Запускаем приложение, следующей командой проверяем переменную %ErrorLevel%. Есть еще такие варианты написания.
Например,
Bash
1
2
3
4
::Упаковать все документы
rar.exe a arch.rar *.doc
::Вывести на экран код возврата
Echo %ErrorLevel%
Не забываем, что внутри скобок и под циклом ErrorLevel можно получить только включив отложенное расширение переменных среды:
Bash
1
2
3
4
5
Setlocal EnableDelayedExpansion
(
  copy /y *.doc d:\*.*
  if !errorlevel!==0 Echo Operation Successful
)
В языках высокого уровня код возврата можно получить API функцией:

GetExitCodeProcess
GetExitCodeThread

А задать код при выходе из программы с помощью функций:

ExitProcess
ExitThread

либо указав число, которое вернет основная функция,
например main в C++:
Код
return 5;
или в AutoIt:
Код
Exit 5


Как сгенерировать код возврата


В Batch:
1. Выполнив команду, которая возвращает Errorlevel, например: cmd /c exit /b 5
где 5 - произвольный код в пределах от -2147483648 до +2147483647

В языках высокого уровня код возврата можно сгенерировать API функцией:
ExitProcess - http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
при этом приложение будет завершено.

Дополнение от Alterex на счет set ErrorLevel=



Общепринятые коды возврата консольных команд DWORD-коды
Преобразование текста ошибок в пользовательский код возврата.

Перечень ErrorLevel в этой теме:

WinRAR (rar.exe)
cmd.exe
copy
xcopy

RoboCopy
ARJ32/Console
7-Zip
msiexec, WMIC
WGET
ping
Windows Scripting Host
FC
Ошибки, возвращаемые FTP-сервером
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 22:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Коды возврата ошибок (расшифровки ErrorLevel)* (CMD/BAT):

Сгенерировать коды ошибок CMD - CMD/BAT
Добрый, помогите плиз сгенерировать сообщения об ошибках в командной строке CMD в случаях: 1) Отсутствие связи с сервером 2) Указан...

Коды ошибок Windows - Администрирование Windows
Вам приходилось встречать при работе на компьютере раздражающие всплывающие окна с указанием различных кодов? Расшифровка КОДОВ ОШИБОК...

Проверка %ERRORLEVEL% - CMD/BAT
Добрый день! Помогите пожалуйста. После запуска команды необходимо сделать проверку %ERRORLEVEL%. Если без ошибок, то значение 0,...

%ERRORLEVEL% в Windows Embedded CE 6.0 - CMD/BAT
@echo off set count=0 :begin set /A count=count+1 ping localhost -n 10 ping -n 1 -w 3000 192.168.9.1 if %errorlevel%==1 goto...

Обработка значения ERRORLEVEL - CMD/BAT
Привет всем! Столкнулся с проблемой обработки значения errorlevel. Вызываю внешний скрипт call script1.bat %параметры% Внутри...

Обработка значения ERRORLEVEL - CMD/BAT
есть скриптик, кусок его прилагаю errorlevel выдает 17, хотя должен по моему мнению 1 т.к.конечного пути \a\1\ не существует но даже если...

32
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
23.01.2013, 01:47  [ТС] #16
Провел небольшой тест.

Развернуть код
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
@echo off
Setlocal EnableDelayedExpansion
set flash=f:
set videofile=Cougar.Town.S01E01.rus.LostFilm.TV.avi
 
Echo Тест успешного копирования
copy nul nul
echo errorlevel %errorlevel%
Echo Тест копирования в защищенную правами папку
cmd /c copy c:\test.log c:\Windows\kmsem\1.log
echo errorlevel %errorlevel%
Echo Тест копирования несуществующего файла
cmd /c copy abracadabra L:\*.*
echo errorlevel %errorlevel%
verify off
if exist %flash%\%videofile% (
  del %flash%\%videofile%& ping 127.1>nul
)
Echo Тест копирования через XCOPY прав доступа ACL без административных привилегий
XCOPY /O i:\%videofile% %flash%\
echo errorlevel %errorlevel%
echo.
Echo Тест копирования видеофайла (268 MB) на флеш
Set STime=%time%
copy i:\%videofile% %flash%\
echo errorlevel %errorlevel%
Set ETime=%time%
Call :TimeElapsed "%STime%" "%ETime%" ret
Echo Прошло: %ret% с.
del %flash%\%videofile%
ping 4 127.1>nul
Set STime=%time%
Echo Тест копирования видеофайла (268 MB) на флеш с верификацией записи
copy /v i:\%videofile% %flash%\
echo errorlevel %errorlevel%
Set ETime=%time%
Call :TimeElapsed "%STime%" "%ETime%" ret
Echo Прошло: %ret% с.
pause
goto :eof
 
 
:TimeElapsed %1-StartTime %2-EndTime %3-var_result
Call :TimeToMSec "%~1" TimeS_ms
Call :TimeToMSec "%~2" TimeE_ms
Set /A diff=TimeE_ms-TimeS_ms
Set /A diffSS=diff/100
Set /A diffms=%diff% %% 100
Set %3=%diffSS%,%diffms%
Exit /B
 
:TimeToMSec %1-Time 2-var_mSec
For /F "Tokens=1-4 Delims=,:" %%A in ("%~1") do (
  Set /A HH=%%A
  Set MM=1%%B& Set /A MM=!MM!-100
  Set SS=1%%C& Set /A SS=!SS!-100
  Set mS=1%%D& Set /A mS=!mS!-100
)
Set /A %~2=(HH*60*60+MM*60+SS)*100+mS
Exit /B


Один раз получил странную ошибку. Copy скопировала файл, после чего написала, что "я такого имени не знаю..." =)) Error 9009

По итогам +Errorlevel:

xcopy

Код
Описание
0 Успешное завершение/Program suseccfully completed.
4 Файл не найден/The system cannot find the file specified.
4 Доступ запрещён/Access is denied. Нет прав доступа к ресурсу.
4 Невозможно скопировать файл поверх самого себя/The file cannot be copied onto itself
errorlevel = 0, даже, если пользователь ответил "Не заменять файл".

Также видим, что в случаях с защищенной правами папкой или когда файл не существует
мы получаем Errorlevel 1 (а не ожидаемые дефолтовые 5 и 2 соответственно).

copy

Код
Описание
0 Успешное завершение/Program suseccfully completed.
1 Файл не найден/The system cannot find the file specified.
1 Доступ запрещён/Access is denied. Нет прав доступа к ресурсу.
1 Невозможно скопировать файл поверх самого себя/The file cannot be copied onto itself
errorlevel = 0, даже если пользователь ответил "Не заменять файл"
Чтобы консоль задала этот вопрос:
1) для одиночного файла нужно указать ключ /-y
Bash
copy /-y file h:\
2) для маски файлов работает по-умолчанию. Обратная операция - "принудительная замена": ключ /y
Bash
Copy /y *.cmd h:\
Сравнение copy с verify off
1) без ключа
2) с ключем /v
показало, что в большинстве случаев с верификацией для копирования файла в ~250 МБ затрачивается на ~1,5 сек. больше времени. Не знаю, что именно оно проверяет, но уж файл точно целиком не считывается.
0
Миниатюры
Коды возврата ошибок (расшифровки ErrorLevel)*   Коды возврата ошибок (расшифровки ErrorLevel)*  
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
28.01.2013, 18:37  [ТС] #17
Из предыдущего поста видно, что команда copy возвращает только коды 0, 1,
что есть совсем не айс.

Я написал надстройку, которая согласовывает ошибки согласно таблице, приведенной Charles Kludge.
Естественно, это просто демо, экспериментальный набросок кода.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Echo Off
Setlocal EnableDelayedExpansion
set src=c:\setup.log
set dest=%windir%\system32
 
for /f "delims=" %%A in ('cmd /v:on /c "copy "%src%" "%dest%" 1^>nul 2^>^&3 ^&Echo ^!ErrorLevel^!"') do (
  Set StdErr=!Err!
  Set Err=%%A
)
if "%Err%" neq "0" (
  Echo.%StdErr%|>nul Find "Отказано в доступе"&& Set Err=5
  Echo.%StdErr%|>nul Find "Access is denied"&& Set Err=5
  Echo.%StdErr%|>nul Find "Не удается найти указанный файл"&& Set Err=2
  Echo.%StdErr%|>nul Find "The system cannot find the file specified"&& Set Err=2
  Echo.%StdErr%|>nul Find "Ошибка в синтаксисе команды"&& Set Err=1
  Echo.%StdErr%|>nul Find "The syntax of the command is incorrect"&& Set Err=1
)
if not Defined Err Set Err=1&::Default Errorlevel for the wrong Syntax
 
Set Errorlevel=%Err%
Echo ErrorLevel of the Last Copy operation is = %Errorlevel%
Echo.
pause
0
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
21.02.2013, 20:53  [ТС] #18
Robocopy
HexDecimalMeaning
0×10 16 Serious error. Robocopy did not copy any files.
 Either a usage error or an error due to insufficient access privileges
 on the source or destination directories.
0×08 8 Some files or directories could not be copied
 (copy errors occurred and the retry limit was exceeded).
 Check these errors further.
0×04 4 Some Mismatched files or directories were detected.
 Examine the output log. Some housekeeping may be needed.
0×02 2 Some Extra files or directories were detected.
 Examine the output log for details.
0×01 1 One or more files were copied successfully (that is, new files have arrived).
0×00 0 No errors occurred, and no copying was done.
 The source and destination directory trees are completely synchronized.

Таким Batch-файлом получим короткое описание ошибок.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    if errorlevel 16 echo ***FATAL ERROR*** & goto end
    if errorlevel 15 echo OKCOPY + FAIL + MISMATCHES + XTRA & goto end
    if errorlevel 14 echo FAIL + MISMATCHES + XTRA & goto end
    if errorlevel 13 echo OKCOPY + FAIL + MISMATCHES & goto end
    if errorlevel 12 echo FAIL + MISMATCHES& goto end
    if errorlevel 11 echo OKCOPY + FAIL + XTRA & goto end
    if errorlevel 10 echo FAIL + XTRA & goto end
    if errorlevel 9 echo OKCOPY + FAIL & goto end
    if errorlevel 8 echo FAIL & goto end
    if errorlevel 7 echo OKCOPY + MISMATCHES + XTRA & goto end
    if errorlevel 6 echo MISMATCHES + XTRA & goto end
    if errorlevel 5 echo OKCOPY + MISMATCHES & goto end
    if errorlevel 4 echo MISMATCHES & goto end
    if errorlevel 3 echo OKCOPY + XTRA & goto end
    if errorlevel 2 echo XTRA & goto end
    if errorlevel 1 echo OKCOPY & goto end
    if errorlevel 0 echo No Change & goto end
    :end
0
Charles Kludge
Клюг
7640 / 3155 / 366
Регистрация: 03.05.2011
Сообщений: 8,382
23.03.2013, 15:27 #19
ARJ32/Console
Hex Dec
Meaning
0 0 Успешно/Success
11Предупреждение(указанный файл для добавления/листа/экстракта не найден
22Фатальная ошибка
33Ошибка СRC(заголовок/файл или неверный пароль)
44Ошибка ARJ-SECURITY или попытка обновить ARJ-SECURED архив
55Диск полон или ошибка записи
66Невозможно открыть архив или файл
77simple user error - неверные параметры ком. строки(Юзер тупорылый)
88НЕПАМ - мало памяти
99Не ARJ-архив
0xA10Ошибка XMS/DPMI-чтение/запись
0xB11Юзер нажал <Ctrl/C>
0xC12too many chapters (over 250)/Слишком много глав/томов в многотомном архиве
1
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
13.04.2013, 17:42  [ТС] #20
Архиватор 7-Zip

Dec
Обозначение
0 Нет ошибок
1 Предупреждение (Не фатальная ошибка(и)).
 Например, один или более файлов были блокированы другим приложением, таким образом, они не были сжаты.
2 Фатальная ошибка
7 Ошибка командной строки
8 Недостаточно памяти для операции
255 Пользователь остановил процесс
0
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
08.06.2013, 18:51  [ТС] #21
Хорошая тема с простыми примерами, как пользоваться кодами возврата ошибок и сокращенными записями || и &&

Выполнение действия, если операция копирования прошла неуспешно
0
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
31.07.2013, 01:11  [ТС] #22
Многие родные Microsoft программы, такие как msiexec-установщик, WMIC... используют коды возврата ошибок API-функций.

MSDN: API System Error Codes

Код из скрина:
Bash
1
wmic /NameSpace:\\root\default Class StdRegProv Call CreateKey hDefKey="&H80000002" sSubKeyName="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\fuc_avers"
0
Миниатюры
Коды возврата ошибок (расшифровки ErrorLevel)*  
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
22.09.2013, 23:46  [ТС] #23
WGET
Утилита для скачивания с HTTP, HTTPS, FTP файлов и целых сайтов.

Код возврата
Описание
0No problems occurred.
1Generic error code.
2Parse error—for instance, when parsing command-line options, the ‘.wgetrc’ or ‘.netrc’...
3File I/O error.
4Network failure.
5SSL verification failure.
6Username/password authentication failure.
7Protocol errors.
8Server issued an error response.

With the exceptions of 0 and 1, the lower-numbered exit codes take precedence over higher-numbered ones, when multiple types of errors are encountered.
0
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
16.01.2014, 03:51  [ТС] #24
Как MS-DOS сообщала о кодах ошибок?

Важность обратной совместимости кодов ошибок
1
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
26.03.2014, 01:22  [ТС] #25
Использование ErrorLevel в Win9x и MS-DOS.
2
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
01.05.2014, 21:35  [ТС] #26
ping - коды ошибок (MSDN)
3
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
13.07.2014, 01:37  [ТС] #27
Все коды ошибок Windows Scripting Host

(с примерами и пояснениями для разрешения проблем).

Перечень ошибок


Categories of VBScript 800xxxxx error codes
  • Code 80005xxx - ADSI errors
  • Code 8007xxxx - Operating System error e.g. Windows Server
  • Code 800Axxxx - Syntax errors
  • Sundry Errors

Code 80005xxx - ADSI errors
Errors beginning with 80005xxx point to an ADSI error in your VBScript. While the message box calls them ADSI, I think of them as LDAP errors. For example, suppose that you are scripting a user's properties and you type givename instead of givenName (two ns), that mistake in the ADSI / LDAP name would generate an 80005xxx error.

Code 80005000 Object Required
Code 80005001 An unknown ADSI domain object was requested
Code 80005002 An unknown ADSI user object was requested
Code 80005003 An unknown ADSI computer object was requested
Code 8000500D The directory property cannot be found

Sundry Errors - Including WMI and MSN
Code 8002009 Error Setting Default Printer
Code 80020005 Type mismatch
Code 8002801c DllRegisterServer in COM failed
Code 800401E4 Syntax error
Code 80040E14 One or more errors occurred during processing of command
Code 80040E37 Table does not exist
Code 80041001 Call Failed
Code 80041002 Object not Found
Code 80041006 Insufficient Memory
Code 80041010 Spelling mistake in a keyword
Code 80041013 Provider not Found
Code 80041014 Component Error
Code 80041021 Syntax error in WMI winmgmts \\
Code 80048820 MSN Messenger server problem
Code 80048821 MSN Messenger email username problem
Code 80048823 MSN Messenger password
Code 8004888D MSN Service is temporarily unavailable
Code 81000306 MSN Messenger server down?
Code 81000314 MSN Messenger server down?

Code 8007xxxx - Operating System Error e.g. Windows 7 / Server 2003 / 8
If your error begins with 8007xxxx then look for an factor outside VBScript. For instance, check the spelling of the name of your share or printer. Another possibility is that the server named in the script, is simply down or otherwise unavailable.

Code 80070005 Access denied
Code 80070035 The network PATH cannot be found
Code 80070043 The network NAME cannot be found
Code 80070055 The local device name is already in use
Code 8007007B The filename, directory or volume is incorrect
Code 800704B0 The specified device name is invalid
Code 800704B2 An attempt was made to remember a device .......
Code 800704B3 No network provider accepted the given network path
Code 800704CA This network connection does not exist
Code 800704C3 Multiple Connections to a server or shared resource...
Code 800704CF The network location cannot be reached
Code 8007052E Logon Failure: unknown user name or bad password
Code 80070571 The media is corrupt
Code 800706B5 The Interface is Unknown
Code 800706BA The RPC server is unavailable
Code 80070709 The Printer name is invalid
Code 80070961 This network connection has files open or requests pending
Code 80071329 Object Already Exists
Code 8007200E The Directory Service is Busy
Code 80072020 An operations error occurred
Code 8007202B A referral was returned from the server
Code 80072030 There is no such object on the server
Code 80072032 LDAP syntax error. Possibly a missing element e.g. cn=
Code 80072035 The server is unwilling to process the request
Code 8007203A The server is not operational
Code 80072EE2 Windows Update Service Problem

Code 8009xxxx
Code 80092023 Illegal character in a key name for a certificate

Code 800Axxxx Syntax Errors
In VBScript, there are 53 syntax errors all beginning with 800Axxxx. These errors should be among the easiest to cure because the message often includes the missing punctuation mark or bracket.

Code 800A0005 Invalid Procedure Call
Code 800A000D Type Mismatch
Code 800A0035 File not found
Code 800A003A File Already Exists
Code 800A0046 Permission denied
Code 800A004C Path not found
Code 800A01A8 Object required
Code 800A01AD ActiveX component can't create object
Code 800A01B6 Object doesn't support this property or method
Code 800A01BD Object doesn't support this ACTION
Code 800A01C3 Object not a collection
Code 800A01C2 Invalid property assignment
Code 800A01CE Remote Server does not exist (or is unavailable)
Code 800A01F4 Variable undefined
Code 800A01F5 Illegal assignment
Code 800A03EA Syntax Error
Code 800A03EE Expected ')'
Code 800A03F1 Variable is undefined
Code 800A03F2 Expected Identifier
Code 800A03F4 Variable Undefined
Code 800A03F6 Expected End
Code 800A03FD Expected 'Case'
Code 800A0400 Expected statement
Code 800A0401 Expected end of statement
Code 800A0407 Invalid Number
Code 800A0408 Invalid Character
Code 800A0409 Unterminated string constant
Code 800A041F Unexpected Next
Code 800A139B - Expected ']' in regular expression
Code 800A139A - Expected quantifier in regular expression
Code 800A0CC1 Item cannot be found in the collection
3
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
12.09.2014, 14:16  [ТС] #28
Команда FC.

Сравнение файлов по содержимому.
Bash
1
2
FC /B 1.txt 2.txt
echo %errorlevel%
  • 0 - если файлы совпадают
  • 1 - если файлы не совпадают
  • 2 - если хотя бы один из файлов не найден
3
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
29.06.2015, 16:23  [ТС] #29
Ошибки, возвращаемые FTP-сервером

ОшибкаОписание
110Комментарий
120Функция будет реализована через nnn минут
125Канал открыт, обмен данными начат
150Статус файла правилен, подготавливается открытие канала
200Команда корректна
211Системный статус или отклик на справочный запрос
212Состояние каталога
213Состояние файла
214Справочное поясняющее сообщение
220Слишком много подключений к FTP-серверу (можете попробовать позднее). В некоторых версиях указывает на успешное завершение промежуточной процедуры
221Благополучное завершение по команде quit
225Канал сформирован, но информационный обмен отсутствует
226Закрытие канала, обмен завершен успешно
230Пользователь идентифицирован, продолжайте
250Запрос прошел успешно
331Имя пользователя корректно, нужен пароль
332Для входа в систему необходима аутентификация
421Процедура не возможна, канал закрывается
425Открытие информационного канала не возможно
426Канал закрыт, обмен прерван
450Запрошенная функция не реализована, файл не доступен, например, занят
451Локальная ошибка, операция прервана
452Ошибка при записи файла (не достаточно места)
500Синтаксическая ошибка, команда не может быть интерпретирована (возможно она слишком длинна)
501Синтаксическая ошибка (неверный параметр или аргумент)
502Команда не используется (нелегальный тип MODE)
503Неудачная последовательность команд
504Команда не применима для такого параметра
530Система не загружена (not logged in)
532Необходима аутентификация для запоминания файла
550Запрошенная функция не реализована, файл не доступен, например, не найден
552Запрошенная операция прервана, недостаточно выделено памяти
2
Dragokas
Эксперт WindowsАвтор FAQ
16601 / 6986 / 846
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
22.10.2015, 21:20  [ТС] #30
xcopy под циклом всегда возвращает нулевой код возврата. Надо бы поизучать вопрос детальнее.

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
 
set src=2
set dst=3
 
xcopy /y 2\123.doc 3
echo err=%errorlevel%
 
For /F "delims=" %%a in ('dir /b /a-d "%src%\*"') do call :ErrorHandler "%src%\%%a" "%dst%"
  rem if not errorlevel 1 del /F /A "%src%\%%a"
pause
goto :eof
 
:ErrorHandler
  xcopy /c /h /r /y /i /k "%~1" "%~2"
  echo err=%errorlevel%
Попробуйте закинуть в папку 2 и 3 файл 123.doc, затем открыть его вордом из папки 3 и запустить бат.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2015, 21:20
Привет! Вот еще темы с ответами:

Получение ERRORLEVEL команды TASKKILL - CMD/BAT
Здравствуйте. В системе периодически запускается скрипт, работа которого занимает определенное время и который не всегда успевает завершить...

Errorlevel 9009 при выполнении dsmod - CMD/BAT
при выполнении: set login=%username% for /f &quot;delims=xxx&quot; %%a in ('findstr %login% AD_Account.txt') do set a=%%a set a=%a:~20,50% ...

Удаленный запуск и остановка служб PsService: вне зависимости от состояние службы ERRORLEVEL всегда 1 - CMD/BAT
Доброго дня Необходимо запуск и остановка служб Win XP удаленно. Имеется такой батник: @ECHO off start C:\psservice \\192.168.3.1...

Обработка кода возврата WinRAR - CMD/BAT
Помогите, в задании нужно проверить архив на наличие файла, и в случае отсутствия вывести сообщение. Всё работает, кроме кода возврата,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru