FileAttributes attrs = File.GetAttributes(path);
File.SetAttributes(path, FileAttributes.Hidden);
attrs = File.GetAttributes(path);
Этот фрагмент кода работает в моей файловой системе NTFS (C: \ Temp ... \ whatever_file). Но когда я пытаюсь выполнить эту же операцию на USB-ключ (файловая система FAT), он никогда не успешно устанавливает атрибут Hidden. Если я вручную установил его в Проводнике Windows, тогда первая строка вернет его правильно. Но третья строка (проверка) никогда не устанавливает ее, если она не установлена.File.SetAttributes() не работает на USB-ключ, как ожидалось
Я дам бесплатного щенка тому, кто скажет мне, почему. :)
ОБНОВЛЕНИЕ: Когда я говорю, что это не работает, я имею в виду, когда возвращаюсь в Проводник Windows и смотрю на файл, у которого нет скрытого набора атрибутов. Фактически, когда я делаю второй GetAttributes, он показывает, что бит установлен. Но в проводнике Windows он не установлен. Даже если я удалю USB-ключ и снова вставьте его, чтобы убедиться, что он правильно обновляется.
Насколько я хотел бы щенка, я не могу воспроизвести это даже в файловой системе FAT. 'SetAttributes' работает как ожидалось (я использовал ваш код дословно). Попробуйте использовать другой USB-ключ? – vcsjones
Я только что сделал, когда увидел свой первый комментарий. Тот же результат. SetAttributes не работает на моем USB-ключе. * sigh * – dviljoen
Я не могу воспроизвести вашу проблему, извините – Marco