File.SetAttributes() não funciona na chave USB conforme esperado
-
12-11-2019 - |
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.
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.