c# - 文件属性标志是由代码还是操作系统控制?

标签 c# file-attributes

我正在学习文件属性枚举,有两个问题我找不到具体答案(尽管我有自己的观点)。

我的应用程序检查是否已设置存档标志。在测试过程中,我在桌面上创建了一个 .txt 文件,并删除了要存档的标志。然后我打开该文件,添加一行文本并保存该文件。属性存档已重新设置。这是合乎逻辑且可取的。

我的第一个问题是,什么是设置标志、程序还是操作系统?

我的第二个问题是,我是否应该设置标志,或者在很大程度上我可以依赖操作系统(假设操作系统是设置标志的东西)。

最佳答案

您可以使用 ATTRIB 命令行或底层 Windows API 控制存档文件属性标志(例如,允许“您的代码”完全控制该标志)。但是,当文件被修改时,存档标志会被设置。这不是您必须在应用程序或代码中执行的操作。预期的使用场景是这样的:

  • 操作系统将在创建或修改文件时设置标志

  • 备份应用程序(例如“您的代码”)将在备份文件后重置标志

但是,依赖存档标志进行备份可能会出现问题,因为多个独立的备份应用程序可能正在使用该标志。

关于c# - 文件属性标志是由代码还是操作系统控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13375564/

相关文章:

c# - 设置文件压缩属性

windows - 如何以编程方式设置文件标签

c# - 如何在 C# 中添加自定义标签将 JSON 转换为 XML

c# - XML 序列化和命名空间前缀

c# - 如何获取包含 Excel 数据的列数

c# - 桌面应用程序 - 将文本更新到网站

c# - 访问 'SortedSet' 中指定索引处的项目

java - LastAccessTime BasicFileAttributes 的行为..

java - 如何知道文件之前是否被处理过

mingw - Msys shell 命令更改文件的属性