Partilhar via


Como: Determine se é um diretório somente leitura no Visual Basic

O método Método My.Computer.FileSystem.GetDirectories retorna um objeto DirectoryInfo com uma propriedade Attributes que pode ser consultada para determinar informações sobre o diretório, inclusive se ele é somente leitura.

Observação:

As opções disponíveis nas caixas de diálogo, e os nomes e localizações dos comandos de menu que você vê, podem diferir do que é descrito na ajuda, dependendo das suas configurações ativas ou edição.Esta página Ajuda foi escrita com Configurações Geral de desenvolvimento em mente.Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio.

Para determinar se um Diretório é somente leitura

  1. Use o método GetDirectoryInfo para retornar um objeto DirectoryInfo para o diretório especificado.Este exemplo retorna um objeto DirectoryInfo para o diretório TestDirectory.

    Dim reader As System.IO.DirectoryInfo
    reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
    
  2. Consulte a propriedade Attributes do objeto para determinar se ele é somente leitura.

    If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
        MsgBox("Directory is readonly!")
    End If
    

Exemplo

O exemplo a seguir, que apresenta o trecho acima no formulário concluído, determina se o diretório testDirectory é somente leitura e relata o resultado em uma caixa de mensagem.

Dim reader As System.IO.DirectoryInfo
reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
    MsgBox("File is readonly!")
End If

Compilando o código

Se o diretório não existe, uma exceção não é lançada até que uma propriedade no objeto DirectoryInfo seja acessada.

Programação robusta

As seguintes condições podem causar uma exceção:

  • O caminho inválido para um dos seguintes motivos: Ele é uma cadeia de comprimento zero; ele contém somente espaços em branco; ele contém caracteres inválidos; ou é um caminho de dispositivo (começa com \\.\) (ArgumentException).

  • O caminho não é válido porque ele é Nothing (ArgumentNullException).

  • O caminho excede o comprimento máximo definido pelo sistema (PathTooLongException).

  • Um nome de arquivo ou de diretório no caminho contém dois-pontos (:) ou está em um formato inválido (NotSupportedException).

  • O usuário não possui permissões necessárias para exibir o caminho (SecurityException).

Consulte também

Tarefas

Como: Determinar Attributes do diretório in Visual Basic

Referência

Método My.Computer.FileSystem.GetDirectories