【问题标题】:File.SetAttributes() not working on USB key as expectedFile.SetAttributes() 未按预期在 USB 密钥上工作
【发布时间】: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


【解决方案1】:

感谢大家的意见,但我完全忽略了查看我的代码的其余部分,我在其中递归地关闭了我写入我的 USB 密钥的所有文件的只读属性,从而否定了我所做的一切以前做过。

我在尘土中悔改。

【讨论】:

    猜你喜欢
    • 2015-09-09
    • 2021-02-18
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 2020-12-26
    相关资源
    最近更新 更多