【发布时间】:2012-02-17 05:03:28
【问题描述】:
FileAttributes attrs = File.GetAttributes( path);
File.SetAttributes( path, FileAttributes.Hidden );
attrs = File.GetAttributes( path);
此代码 sn-p 适用于我的 NTFS 文件系统 (C:\Temp...\whatever_file)。但是当我尝试在 USB 密钥(FAT 文件系统)上执行相同的操作时,它从未成功设置隐藏属性。如果我在 Windows 资源管理器中手动设置它,那么第一行会正确返回它已设置。但是第三行(检查它)如果没有设置它就永远不会设置它。
我会免费赠送一只小狗给能告诉我原因的人。 :)
更新:当我说它不起作用时,我的意思是当我回到 Windows 资源管理器并查看文件时,它没有设置隐藏属性。事实上,当我执行第二个 GetAttributes 时,它表明该位已设置。但在 Windows 资源管理器中未设置。即使我移除 USB 密钥并重新插入以确保它正确刷新。
【问题讨论】:
-
尽管我想要一只小狗,但我无法重现它,即使在 FAT 文件系统上也是如此。
SetAttributes按预期工作(我逐字使用您的代码)。尝试使用其他 USB 密钥? -
我刚看到你的第一条评论。结果相同。我的 USB 密钥上的 SetAttributes 失败。 叹息
-
我无法重现您的问题,抱歉
-
您在哪里创建句柄..您正在关闭文件句柄...??在您没有显示的 3 行之上是否还有更多代码会导致我提出我的问题...?
-
即使有您的更新,我也无法重现它。当我运行代码时,右键单击文件并点击属性,“隐藏”复选框被选中。运行代码后
attrib filepath打印什么?
标签: c# usb fat file-attributes