You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell设置文件夹Compressed压缩属性不生效问题咨询

问题原因

这个现象不属于权限问题,是你使用的属性修改方式不适用于NTFS压缩属性:

  • 文件的Hidden、ReadOnly等属于通用文件属性,确实可以通过修改FileInfo对象的Attributes属性直接生效
  • Compressed是NTFS文件系统特有的扩展属性,需要调用系统专门的压缩接口才能修改,直接追加属性值的操作不会被文件系统识别处理。
可用的实现方案

方案1:调用系统compact命令(最简单)

PowerShell可直接调用Windows自带的compact工具实现压缩,示例代码如下:

# 压缩目标文件夹及所有子内容
compact /c /s:"D:\Aither\Pca\Test" /i

参数说明:

  • /c:指定启用压缩操作
  • /s:"路径":指定要处理的根目录,同时递归处理所有子目录内的文件
  • /i:忽略操作过程中出现的错误
    如果仅需要压缩文件夹本身、不需要处理子内容,去掉/s参数即可。如果需要取消压缩,将/c参数替换为/u即可。

方案2:使用WMI/CIM接口(纯PowerShell原生实现)

如果需要完全用PowerShell原生接口实现,可调用Win32_Directory的压缩方法,代码如下:

$targetPath = "D:\Aither\Pca\Test"
# 路径转义处理
$escapedPath = $targetPath.Replace('\','\\')
$dirObject = Get-CimInstance -ClassName Win32_Directory -Filter "Name = '$escapedPath'"
# 执行压缩操作
Invoke-CimMethod -InputObject $dirObject -MethodName Compress

如果需要取消压缩,将方法名改为Uncompress即可。

内容的提问来源于stack exchange,提问作者ArthurR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:06:03