У меня есть программа (старая версия Delphi), которая должна создавать временный файл всякий раз, когда он открывается. Проблема в том, что он может создать этот файл, но не может перезаписать его, поэтому всякий раз, когда я пытаюсь открыть его, мне нужно сначала переместить файл куда-нибудь еще.
Файл создается во временной папке (userfolder\AppData\Local\Temp). Я могу переместить его куда угодно, я могу переименовать его, но я не могу удалить его.
Поэтому я создал отдельную папку, куда я могу переместить временный файл. Я получаю одну копию каждый раз, когда хочу открыть программу, поэтому я переименовываю эти копии. Но их сейчас слишком много, и я хотел бы от них избавиться.
Когда я пытаюсь удалить один, я получаю сообщение:
Действие не может быть завершено, потому что файл открыт в системе
Самое смешное, что даже если я перезагружаю систему, когда я захожу в созданную мной отдельную папку для хранения этих файлов и пытаюсь удалить ее, я все равно получаю это сообщение.
Я пытался:
- Назначение прав собственности на файлы (они изначально принадлежат Системе);
- Назначение разрешений другим учетным записям пользователей, включая "Все", и проверка наличия у всех прав на удаление файлов.
- Удаление всех атрибутов файла;
- Перезагрузка, как указано выше. Я даже сделал это несколько раз;
- Изменение не только имен файлов, но и расширений;
- Unlocker (программа, которая обещает решить такую проблему, но у меня она не работает);
- Проходя через командную строку. Это просто говорит, что
access denied
.
Что еще я могу попробовать? Как я могу помешать процессу System открыть эти файлы, чтобы я мог от них избавиться?