中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-13 21:22
中国DOS联盟论坛 » 其它操作系统综合讨论区 » [讨论]关于系统的文件夹压缩
楼 主 [讨论]关于系统的文件夹压缩 发表于 2006-03-23 20:51 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
To All:

很早就注意到,在Windows系统目录下,类似“$NtUninstallKB885835$”的更新程序卸载备份文件夹的名字是蓝色的,只是一直无暇追究其中的缘由,想来不过是彰显文件夹的某些特殊属性而已。

最近,开始清理系统盘空间,偶然发现在这些蓝色名字的目录有个奇怪的特性,即在右键属性菜单中的常规选项卡中,文件的<占用空间>总是小于文件的<实际大小>,而这与我脑中的占用空间比不小于文件大小的常规知识向矛盾。

因为在FAT和NTFS文件系统中,文件以簇的形式占用磁盘空间,文件大小的不规则导致它很可能无法将所使用的簇恰好占满,而某些簇中的剩余空间因为无法收集而被废弃,因此文件的占用即为文件所用簇的占用空间,它必然是1024或其他大小(XP为4096)的整数倍,也因此它必然大于等于文件的实际大小。

不解之余,上百度搜索答案,不久即赧然一笑,却原来是压缩后的文件夹,使用的乃是属性菜单常规选项卡“高级”选项对话框中的“压缩”功能。所有使用“压缩”的文件或文件夹名字均为蓝色,既已压缩,占用空间小于实际大小的谜底也就揭开了。

但是不久,新的疑惑就接踵而来,我做了一些简单的测试:如果将这个压缩文件(夹)复制到其它目录下,则不再具有压缩特性;如果将这个压缩文件(夹)移动到其它目录下,则压缩特性保留;而如果将这个压缩文件(夹)复制后再移动的相同的目录下,则移动特性消失。由此移动结果推断,“压缩”应属于文件或文件夹自有的一种“属性”,但它却为何无法通过复制进行传递?

另外的一些测试表明,此种压缩的压缩率很低,一个2M的文本文件压缩后还有1.8M,而使用WinRAR可以压到0.8M,而它对使用WinRAR压缩过的文件会自动选择不再压缩,依此推测系统的压缩算法是牺牲压缩率来换取压缩速率。

还有的一点发现,或者说“未发现”,就是系统的解压过程对于我所测试的任何测试都是透明的,即使是在CMD或者COMMAND环境下,也可以正确无误的浏览压缩后的文本文件。没有在DOS下测试,因为是NTFS卷,若使用外部驱动支持,就无法真正得知其是否完全透明了,因为我无法断定,NTFS的DOS驱动是否也会透明的解压。而且在Windows下找到它的压缩后的“原始状态”似乎更有意义。

[ Last edited by willsort on 2006-3-23 at 21:06 ]
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2 发表于 2006-03-24 00:55 ·  加拿大 Bell
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
UID 9
状态 离线
复制后无法保留压缩属性应该类似Unix下的iNode的特点,如果当复制后就相当于产生了新的数据,与以前的iNode不再相关,所以原有的压缩属性不复存在;而移动则仅仅是将链接指向改变,而iNode仍为原状,所以其压缩属性保持不变。
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

3 发表于 2006-03-24 11:22 ·  中国 广东 广州 广东金万邦科技投资有限公司(新一代数据中心)IDC机房(BGP)
金牌会员
★★★★
积分 3,467
发帖 1,616
注册 2004-06-21 00:00
UID 27148
状态 离线
这个压缩功能是伴随着ntfs的出现而产生的,已经有很长的时间了。

ntfs压缩是一种追求速度而不是追求压缩率压缩算法。

记得dos下面的ntfsdos加载时可以选择不支持ntfs压缩。

对于一个ntfs卷,除了ntldr之外的所有文件都可以压缩,但是压了ntldr后则系统无法启动。

如果想看到ntfs压缩之后的“原始状态”,可以用一些磁盘编辑软件察看。
4 发表于 2007-04-24 05:27 ·  中国 湖北 黄冈 电信
高级用户
★★★
积分 894
发帖 411
注册 2007-02-17 12:15
UID 79697
性别 男
状态 离线
开始, 我压缩过, 但是发现文件本身并没有变小只是颜色变了, 并且访问透明, 我始终不解, 后来到网上搜索了下, 再右击文件属性, 发现占用空间确实变小了, 才明白其中原委.
@set c= 不知则觉多,知则觉少,越知越多,便觉越来越少. --- 知多少.
@for,/l,%%i,in,(1,1,55)do,@call,set/p=%%c:~%%i,1%%<nul&ping/n 1 127.1>nul


5 发表于 2007-04-24 05:29 ·  中国 湖北 黄冈 电信
高级用户
★★★
积分 894
发帖 411
注册 2007-02-17 12:15
UID 79697
性别 男
状态 离线
NTFS 代表着 NT 的新特性
@set c= 不知则觉多,知则觉少,越知越多,便觉越来越少. --- 知多少.
@for,/l,%%i,in,(1,1,55)do,@call,set/p=%%c:~%%i,1%%<nul&ping/n 1 127.1>nul


6 发表于 2007-04-24 05:55 ·  中国 四川 成都 联通
初级用户
积分 80
发帖 30
注册 2007-04-19 23:21
UID 85763
性别 男
状态 离线
NTFS的新特性还包括EFS加密
这些操作对用户来说都是透明的
7 发表于 2007-10-07 02:09 ·  中国 河北 廊坊 联通
初级用户
积分 42
发帖 21
注册 2007-10-03 03:11
UID 98806
性别 男
状态 离线
今天我也发现了这个问题,并且上DOS联盟搜了一下找到了这个帖子,和我理解的也差不多。。压缩是透明的是不是说,压缩以后不用解压还能用啊。。这种磁盘压缩文件的分配单位还是以簇为单位了,及是4096的整数倍。只有压缩文件不遵守。不知道有高手能不能说一下磁盘压缩的技术是什么?实在是不解。
论坛跳转: