2012-01-23 9 views
3
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-ключ и снова вставьте его, чтобы убедиться, что он правильно обновляется.

+2

Насколько я хотел бы щенка, я не могу воспроизвести это даже в файловой системе FAT. 'SetAttributes' работает как ожидалось (я использовал ваш код дословно). Попробуйте использовать другой USB-ключ? – vcsjones

+0

Я только что сделал, когда увидел свой первый комментарий. Тот же результат. SetAttributes не работает на моем USB-ключе. * sigh * – dviljoen

+0

Я не могу воспроизвести вашу проблему, извините – Marco

ответ

0

Спасибо всем за ваш ввод, но я полностью пренебрег тем, что посмотрел на REST моего кода, где я рекурсивно отключил атрибут только для чтения во всех файлах, которые я написал на USB-ключ, тем самым отрицая Я сделал это раньше.

Я раскаиваюсь в пыли и пепле.

+0

Наслаждайтесь своим щенком! –