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


此代码段适用于我的NTFS文件系统(C:\ Temp ... \ whatever_file)。但是,当我尝试在USB密钥(FAT文件系统)上执行相同的操作时,它从未成功设置Hidden属性。如果我在Windows资源管理器中手动设置它,则第一行正确返回它已设置的状态。但是第三行(检查它)如果未设置,则永远不会设置它。

我会送一只免费的小狗给任何能告诉我原因的人。 :)

更新:当我说它不起作用时,我的意思是当我返回Windows资源管理器并查看该文件时,该文件未设置隐藏属性。实际上,当我执行第二个GetAttributes时,它表明该位已设置。但是在Windows资源管理器中未设置。即使我拔下USB密钥并重新插入它,也可以确保它正确刷新。

最佳答案

谢谢大家的投入,但是我完全忽略了我的代码的REST,在该代码中我递归地关闭了已写入USB密钥的所有文件的只读属性,从而使我所做的一切都无效之前。

我在尘土和灰烬中re悔。

关于c# - File.SetAttributes()不能按预期在USB key 上工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8978549/

10-15 03:56