我正在使用programm,它应该从std :: vector中的选择目录中检索所有文件的属性。
该代码显示了我如何获取文件属性。
DWORD attr_flags = GetFileAttributes(file_path);
if (attr_flags == INVALID_FILE_ATTRIBUTES) {
std::cout << "Invalid file attributes." << std::endl;
return;
}
然后像这样解析退役的旗帜。
if (attr_flags & FILE_ATTRIBUTE_ARCHIVE) {
attrs.push_back(defines::Attributes::kArchive);
attr_flags &= ~FILE_ATTRIBUTE_ARCHIVE;
}
if (attr_flags & FILE_ATTRIBUTE_COMPRESSED) {
attrs.push_back(defines::Attributes::kCompressed);
attr_flags &= ~FILE_ATTRIBUTE_COMPRESSED;
}
/* etc... */
所以,毕竟我将结果打印到控制台并得到这个:
任何人,请告诉我,为什么所有文件(甚至档案)都没有存档属性?
P.S:MSDN告诉
FILE_ATTRIBUTE_ARCHIVE 32 (0x20)
作为存档文件或目录的文件或目录。应用程序通常使用此属性标记文件以进行备份或删除。
答案 0 :(得分:7)
&#34;存档&#34;属性并不意味着&#34;这个文件是一个档案&#34; (如ZIP或7Z文件)。相反,它typically means&#34;此文件需要备份&#34;:
在Windows和OS / 2上,创建或修改文件时,将设置存档位,并在备份文件时清除存档位。因此,归档位的含义是:此文件将归档,或者:此文件尚未归档。
增量备份任务可以使用存档位来区分哪些文件已经备份,并且只选择新文件或修改后的文件进行备份。
我不认为它已经在实践中得到了很多使用(如果有的话)。