Pergunta

FileAttributes attrs = File.GetAttributes( path);
File.SetAttributes( path, FileAttributes.Hidden );
attrs = File.GetAttributes( path);

Este trecho de código funciona no meu sistema de arquivos NTFS (C: emp...\whatever_file).Mas quando tento executar esta mesma operação em uma chave USB (sistema de arquivos FAT), ela nunca define com êxito o atributo Oculto.Se eu configurá-lo manualmente no Windows Explorer, a primeira linha retornará corretamente que está definido.Mas a terceira linha (verificando) nunca define se não estiver definida.

Darei um cachorrinho grátis para quem puder me dizer o porquê.:)

ATUALIZAR:Quando digo que não funciona, quero dizer que quando volto ao Windows Explorer e olho o arquivo, ele não tem o atributo oculto definido.Na verdade, quando faço o segundo GetAttributes ele mostra que o bit está setado.Mas no Windows Explorer isso não está definido.Mesmo se eu remover a chave USB e inseri-la novamente para ter certeza de que ela será atualizada corretamente.

Foi útil?

Solução

Obrigado a todos pela sua contribuição, mas negligenciei completamente a observação do REST do meu código, onde desativo recursivamente o atributo somente leitura em todos os arquivos que gravei em minha chave USB, negando assim tudo o que fiz antes.

Arrependo-me no pó e nas cinzas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top