-
Нужно попытаться удалить файл как то по жёстче, чем BOOL DeleteFile(
LPCTSTR lpFileName // pointer to name of file to delete ); файл этой же программы, текстовый, просто его могут открыть для просмотра в чем-либо, что не возбраняется. Но могут оставить надолго, и простое DeleteFile не справляется, с ошибкой что файл занят. В принципе, ничего страшного. Максимум через месяц административно отключится все равно, но каждый раз его программа будет пытаться удалить.
UnLocker например, удаляет практически все. Если не так же, то как-то более круто надо (хотя бы попытаться) удалить.
Подскажете как?
-
чезабред, переведи
-
Надо удалить файл, который может занят быть (открыт в другой программе) Если не получится - ладно. Так сейчас и работает - не удалилось и не удалилось, потом удалим. Можно так и оставить, только пытаться удалить как-то более навязчиво В идеале, удалить несмотря ни на что.
посоветовали CreateFile + FILE_FLAG_DELETE_ON_CLOSE или MoveFileEx вторым параметром nil и третьим MOVEFILE_DELAY_UNTIL_REBOOT это - не то. Файл удалится как закроется или после/вовремя перезагрузки. (как я понял) Как он закроется - я и сам его удалю, а перезагрузка бывает раз в пол-года - год.
-
Убей софт который его держит.. либо убей его дескриптор - а затем можно удалить. А тебе не кажется, что от удаления используемого файла, использующей его программе может изрядно поплохеть?
-
> тебе не кажется, что от удаления используемого файла, использующей > его программе может изрядно поплохеть?
Все равно.
Файлы на сервере, папка открыта почти всем.
Файлы прошлого дня в 00:00 переносятся в архивную папку. Если кто не освободил файл до 00:00 - сам виноват.
Чаще всего так бывает: откроют файл чем-то тяжелым, типа, excel, посмотрят и, не закрывая, домой пошли, закроют только утром, как придут. Или вообще, в понедельник.
Надо вырвать файл, пусть использующая его программа падает/кричит/дерется, все рано.
-
в принципе, можно админов попросить, пусть настроят закрытие всех файлов в 00.. Наверное, такое win2003srv поддерживает. Должен, имхо..
-
-
Спасибо, посмотрю
-
Так файлы открыты по сети? Ну так тогда конечно, разрывай сессию на сервере (NetSessionDel), перечисление сессий - NetSessionEnum.
-
> Наверное, такое win2003srv поддерживает
он и не такое поддерживает,причем пофиг открыто или нет,и ты со своей програмулькой там вообще лишний судя повсему и такие админы лишние в этой организации...
|