Показать полную графическую версию : [решено] Как отследить ERRORLEVEL, если файл не удаляется
Простой пример:DEL /q 1.mp3
ECHO %ERRORLEVEL%
Причём если файл удаляется ERRORLEVEL=0, и если не удаляется (песня проигрывается), тоже ERRORLEVEL=0.
Почему ERRORLEVEL не отслеживает, удалился ли файл? Неужели только IF EXIST и почему не срабатывает ERRORLEVEL?
Foreigner
09-07-2011, 18:56
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
Этот баг (?) с хвостом. »
Отвалилось, вроде бы, в XP.
«if exist» мне кажется, лучше. Ибо, скажем, файла может и вовсе не быть (я не про данный случай, а вообще).
Этот баг (?) с хвостом »
Что здесь имеется ввиду?
Foreigner
13-07-2011, 19:27
Что здесь имеется ввиду? »
То что del не возвращал корректный errorlevel еще в NT, потом починили в w2k и снова поломали в XP =)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.