C# 设置文件压缩属性

C# 设置文件压缩属性,c#,compression,ntfs,file-attributes,C#,Compression,Ntfs,File Attributes,我期望这个代码: if (!File.Exists(fullFileName)) { File.Create(fullFileName); } File.SetAttributes(fullFileName, FileAttributes.Compressed); 要设置此标志,请执行以下操作: 但它不。。。我做错了什么?如何在文件上设置该标志 更新:上面写着 “无法更改文件对象的压缩状态 使用SetAttributes方法。” 显然,当使用静态File.SetAttribute

我期望这个代码:

if (!File.Exists(fullFileName))
{
    File.Create(fullFileName);
}

File.SetAttributes(fullFileName, FileAttributes.Compressed);
要设置此标志,请执行以下操作:

但它不。。。我做错了什么?如何在文件上设置该标志


更新:上面写着

“无法更改文件对象的压缩状态 使用SetAttributes方法。”

显然,当使用静态File.SetAttributes时,它也不起作用


鉴于此,如何实现这一点?

属性是位掩码

试试这个:

File.SetAttributes(fullFileName,
    File.GetAttributes(fullFileName) | FileAttributes.Compressed);

(在
示例下找到)

谢谢你的帮助。但是它设置了错误的标志。。。有没有关于如何设置我需要的那个的线索?它应该是正确的旗帜。。。不知道为什么它不工作“无法使用SetAttributes方法更改文件对象的压缩状态。”这听起来像是PInvoke的工作。从这里开始: