FileAttributes attrs = File.GetAttributes( path);
File.SetAttributes( path, FileAttributes.Hidden );
attrs = File.GetAttributes( path);
此代码片段适用于我的 NTFS 文件系统 (C:\Temp...\whatever_file)。但是当我尝试在 USB key (FAT 文件系统)上执行相同的操作时,它从未成功设置隐藏属性。如果我在 Windows 资源管理器中手动设置它,那么第一行会正确返回它已设置。但如果未设置,第三行(检查它)永远不会设置它。
谁能告诉我原因,我就会免费赠送一只小狗。 :)
更新:当我说它不起作用时,我的意思是当我返回到 Windows 资源管理器并查看文件时,它没有设置隐藏属性。事实上,当我执行第二个 GetAttributes 时,它显示该位已设置。但在 Windows 资源管理器中它没有设置。即使我移除 USB key 并重新插入它以确保它正确刷新。
最佳答案
谢谢大家的意见,但我完全忽略了查看代码的其余部分,在代码中我递归地关闭了我写入 USB key 的所有文件的只读属性,从而否定了我的任何内容以前做过。
我在尘土和 Ember 中忏悔。
关于c# - File.SetAttributes() 无法按预期在 USB key 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978549/