2

Как определить, был ли файл заблокирован другим процессом в powershell?

Я прочитал несколько примеров проверок, которые ловят исключение, которое возникает при попытке прочитать файл. Это как-то не нравится мне.

1 ответ1

1

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

Например, пользователь предоставляет вам имя файла для чтения. Вы проверяете, существует ли файл, видите, что он существует, и решаете продолжить. Прежде чем пытаться прочитать его, другая программа удаляет его. Или, возможно, файл находится в общей сетевой папке, и сеть отключается.

Итак, попробуйте использовать файл, перехватить исключение и завершиться неудачно.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .