Como detecto se um arquivo está bloqueado com o powershell?

2

Como faço para detectar se um arquivo foi bloqueado por outro processo no powershell?

Eu li alguns exemplos de verificações que capturam a exceção que ocorre ao tentar ler o arquivo. Isso de alguma forma não me faz bem.

    
por elgrego 10.03.2011 / 11:10

1 resposta

1

Em geral, você não pode ter certeza de que tem acesso a um arquivo que deseja sem realmente tentar usá-lo. Mesmo se você pudesse fazer uma verificação adequada, entre o momento em que você faz a verificação e a hora em que você usa o arquivo, o estado pode mudar.

Por exemplo, o usuário lhe fornece um nome de arquivo para ler. Você verifica se o arquivo existe, vê o que ele faz e decide prosseguir. Antes de tentar lê-lo, outro programa o exclui. Ou talvez o arquivo esteja em um compartilhamento de rede e a rede fique inativa.

Então, tente usar o arquivo, pegue a exceção e falhe normalmente.

Além disso, lembre-se de apenas capturar e dispensar exceções que você entende e espera.

    
por 11.03.2011 / 04:34

Tags