Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как отследить ERRORLEVEL, если файл не удаляется

Ответить
Настройки темы
CMD/BAT - [решено] Как отследить ERRORLEVEL, если файл не удаляется

Аватара для BigBoo

Старожил


Автор проектов


Сообщения: 482
Благодарности: 120

Профиль | Отправить PM | Цитировать


Простой пример:
Код: Выделить весь код
DEL /q 1.mp3
ECHO %ERRORLEVEL%
Причём если файл удаляется ERRORLEVEL=0, и если не удаляется (песня проигрывается), тоже ERRORLEVEL=0.

Почему ERRORLEVEL не отслеживает, удалился ли файл? Неужели только IF EXIST и почему не срабатывает ERRORLEVEL?
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:13, 09-07-2011

 

Ветеран


Сообщения: 1691
Благодарности: 936

Профиль | Цитировать


BigBoo,
Этот баг (?) с хвостом. Если не удобно if exist, то можно решить так:
Код: Выделить весь код
@echo off

2>&1 del /q file.ext | 1>nul findstr "."
:: errorlevel от findstr будет показывать 0 при неудачном удалении и 1 при успехе
echo %errorlevel%

:: или так, по результатам выполнения findstr
2>&1 del /q file.ext  | 1>nul findstr "." && echo failure || echo success
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:56, 09-07-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 27628
Благодарности: 8081

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
Этот баг (?) с хвостом. »
Отвалилось, вроде бы, в XP.

«if exist» мне кажется, лучше. Ибо, скажем, файла может и вовсе не быть (я не про данный случай, а вообще).
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:08, 09-07-2011 | #3


Аватара для BigBoo

Старожил


Автор проектов


Сообщения: 482
Благодарности: 120

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
Этот баг (?) с хвостом »
Что здесь имеется ввиду?

Отправлено: 12:06, 13-07-2011 | #4


Ветеран


Сообщения: 1691
Благодарности: 936

Профиль | Цитировать


Цитата BigBoo:
Что здесь имеется ввиду? »
То что del не возвращал корректный errorlevel еще в NT, потом починили в w2k и снова поломали в XP
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:27, 13-07-2011 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как отследить ERRORLEVEL, если файл не удаляется

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ошибка - Не удаляется файл. klester Лечение систем от вредоносных программ 32 18-03-2011 07:15
[решено] Не удаляется файл!! klester Тест-форум 2 02-03-2011 20:59
[решено] как отследить падение процесса, если их запущено несколько? diamonster AutoIt 2 14-07-2010 14:00
Не удаляется файл из корзины obeus Microsoft Windows 2000/XP 31 27-10-2006 21:18
не удаляется файл из избранного directx Хочу все знать 6 15-04-2003 23:27




 
Переход