Я хочу программно переименовать файл, и он может быть открыт. Это файл журнала. Когда я тестировал свой код, часть переименования не работала, потому что файл журнала TestPro.log был открыт TAF (Test Automation Framework).
Когда TestPro запущен и я пытаюсь удалить файл, я получаю ошибку«Невозможно удалить, так как файл используется другим человеком или программой».
Есть ли способ переименовать файл (программно), открытый так же, как файл журнала?
решение1
Решение — использовать версию командной строкиРазблокировщикперед перемещением/удалением файла.
решение2
Лучше всегоПереместитьФайлотSysinternals.
решение3
Я надеюсь, тынайдите ответы здесь:
Существует несколько причин, по которым Windows может не разрешить удалить файл:
- Файл может использоваться, и в этом случае вы не сможете удалить его, пока программа, использующая его, не откажется от него.
- Файл может быть помечен как доступный только для чтения.
- Имя файла может быть настолько длинным, что Windows не может его обработать. Имена файлов, содержащие более 260 символов, часто трудно удалить.
Есть также несколько причин, по которым Windows может не позволить вам изменить имя файла; в частности, его расширение. Все вышеперечисленное применимо и здесь; а также...
Ваша система может не отображать расширения файлов по умолчанию.
Сначала мы рассмотрим этот вопрос, а затем остальные.
[…]
Иногда вы не можете удалить файл или папку, что бы вы ни делали. В этом случае есть несколько программ, которые могут вам помочь.
- MoveOnBoot
- Удалить файлы FXP
- Делинв
- Разблокировщик
Если после всего этого вы все еще не можете переименовать/удалить файл, не уверен, что еще предложить. У других эта проблема возникает часто, и поскольку на форуме FILExt могут возникнуть разные идеи, я изменю этот FAQ, чтобы включить их. Если вы найдете метод, который работает для вас и которого нет в этом FAQ, пожалуйста, отправьте FILExt заметку с подробностями об этом методе, чтобы его можно было добавить в FAQ.