禁用 NTFS 压缩,但仅限于新文件

禁用 NTFS 压缩,但仅限于新文件

我有一个外部 NTFS 驱动器,几天前我启用了压缩功能。我以为它有助于节省磁盘空间,但总体上只节省了大约 1%。现在磁盘写入速度似乎慢了很多,性能也更差了。我想这是因为每个新文件都经过压缩写入。

我想禁用驱动器上所有新文件的压缩,但我想保留所有已压缩的文件。由于驱动器上的数据量很大,解压驱动器上的所有文件可能需要几天时间。所以如果可能的话,我想避免这样做。

我可以简单地从文件系统中的所有文件夹中删除压缩属性,但保留已压缩的文件不变吗?我不确定这是否可行,Properties文件资源管理器界面中的窗口仅允许我在根文件夹或所有子文件夹和文件中禁用压缩。我只想禁用它新的文件,而不是全部文件。

例子:

截屏

答案1

解决我的问题的方法是使用 Cygwin。我意识到在 Cygwin 中,我可以使用 Unixfind命令操作文件系统中的所有目录并对这些文件夹执行 Windows 命令。Cygwinfind具有在参数中使用 Unix 或 Windows 命令的独特功能-exec。据我所知,这在 WSL 上不起作用。从我自己的测试来看,WSL 似乎只运行 Unix 命令。

所以我的命令是:

find /cygdrive/e -type d -exec compact /u {} \;

这确实有效。它“解压”了每个文件夹,但保留了所有文件(压缩)。实际上没有文件被解压,尽管Compressed文件系统中每个文件夹的属性都被删除了。所以现在所有新文件都将在不压缩的情况下写入,但所有已经压缩的旧文件将保持压缩状态,直到我决定有一天解压它们。但它暂时让我免于在磁盘上进行大量额外写入。

归功于@Mokubai告诉我有关Windows 命令的信息,这给了我将该命令提供给标志的compact想法。-execfind

相关内容