Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > cmd.exe => проблема с bat'ником


Автор: zhekha 31.5.2006, 11:43
В общем такая проблема: мне нужно, чтобы пакетный файл пытался удалить (и удалял) определенный исполняемый файл, который на данный момент может исполняться (но когда-нибудь он обязательно выполнится). Я написал так:
Код

:trytodel
ATTRIB -h -s -r file.exe
DEL file.exe
IF EXIST file.exe GOTO trytodel

Но, вместо ожидаемого эффекта я получаю
Код

c:\>del file.exe
c:\file.exe
Отказано в доступе.
...

И исполнение пакетного файла идет дальше!  smile  

Автор: termik 31.5.2006, 11:48
Мож файл занят...и не удаляеться 

Автор: zhekha 31.5.2006, 11:50
В смысле занят, я же писал, что файл может заканчивать исполнение! В это время в батнике должен работать цикл по условию exist. 

Автор: z-END 31.5.2006, 11:50
Цитата(termik @  31.5.2006,  12:48 Найти цитируемый пост)
Мож файл занят...и не удаляеться 

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

Автор: Hose 31.5.2006, 12:01
Я создал батник. Скопировал в него твой код. Создал file.exe, который ждет ввода с клавиатуры. Все работает как надо, т.е. пока file.exe исполняется на экране циклится acces denied когда исполнение завершается, то file.exe благополучно удаляется. 

Автор: zhekha 31.5.2006, 12:10
Так, вот, у меня тоже работает... но не со всеми exe'шками. При попытке удалить как раз ту, которую нужно, я получаю ответ: "Отказано в доступе" и выполнение пакетного файла продолжается. smile  

Автор: Gigabyte 3.6.2006, 17:01
а может попробовать убить процес и у далить фаил???? 

Автор: zhekha 6.6.2006, 10:25
Gigabyte> Что значит убить процесс? Приложение запускает пакетный файл и завершается, а пока оно собственно завершается, пакетный файл должен подождать, чего он не всегда хорошо делает. Можно как-то что ли завершить процесс из пакетного файла или ты о чем? 

Автор: trix 6.6.2006, 10:41
zhekha, может в этих некоторых файлах, которые неудаляются, неснимаются атрибуты? попробуй
Код

del file.exe /a:shra

что-то типа такого.

Добавлено @ 10:45 
Цитата(zhekha @  31.5.2006,  11:43 Найти цитируемый пост)
c:\>del file.exe
c:\file.exe
Отказано в доступе.
...

что-то мне не очень нравится это.
первая строка - удаление файла
вторая строка - обращение к этому фалу
третья строка - сообщение о том, что он не может обратиться к файлу.
может у тебя в батнике твоем где-то дальше идет обращение к этому файлу? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)