中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 07:28
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 全面增强《磁盘/系统备份/文件/压缩》集于一身 TOdisk 查看 23,667 回复 183
121 发表于 2007-04-02 06:14 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
再更新如下:

1
加入: 压缩,解压缩FAT,比较压缩 FAT 的功能
参数为:
TOdisk -SFATZ 1:2 DFATZ
备份1:2分区的FAT,并压缩(级别是默认的6),文件名为 DFATZ
如果压缩级别为9,如下:

TOdisk -SFATZ9 1:2 DFATZ

比较时,压缩的FAT和未压缩的FAT,参数是一样的
(程序会自动检测是否是压缩)

2
省掉了一块64KB内存
(等一下根据用户的输入数据的大小来确定内存用量,这样更好)

3
掐死了两个BUG:
a, 比较压缩文件时,非压缩文件的缓冲指针不对
b, 备份单个硬盘的分区表链和DBR时,无效.

4
2.2版本后,由于编译时去除了程序中的DEBUG信息, 体积大大减小了! 减了50KB!

已重新上传

[ Last edited by GOTOmsdos on 2007-4-17 at 07:04 AM ]
122 发表于 2007-04-03 07:50 ·  中国 香港 Cyber_Express通信公司
银牌会员
★★★
阿林
积分 1,410
发帖 497
注册 2004-06-28 00:00
21年会员
UID 27551
性别 男
来自 九龍,香港
状态 离线

太 好 了 , 可 惜 假 期 前 很 忙 , 暫 停 沒 空 更 新 網 頁 ...
我 的 網 站 - http://optimizr.dyndns.org
123 发表于 2007-04-03 08:43 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
没关系,等你有时间再弄吧? 工作忙要注意休息啊
124 发表于 2007-04-03 12:02 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
再次更新如下:
1
增加全部硬盘或单个硬盘的分区表链,DBR与硬盘原有信息的比较
2
把显示文件中自动检查压缩文件改为有 -PFSZ 和 -PFBZ 时才检查压缩文件, 这样就可满足当用户需要显示不解压的压缩文件的内容的要求.

例如:
压缩文件为: ZIPFILE

TOdisk -PFB ZIPFILE 12 34 56
不检查是否是解压文件,显示ZIPFILE的第12扇区的偏移34处,共56字节

TOdisk -PFBZ ZIPFILE 12 34 56
检查是否是解压文件,如果是就先解压ZIPFILE,再显示解压后的ZIPFILE的第12扇区的偏移34处,共56字节

TOdisk -PFS ZIPFILE 12 56
不检查是否是解压文件,显示ZIPFILE的第12扇区, 共56扇区

TOdisk -PFSZ ZIPFILE 12 56
检查是否是解压文件,如果是就先解压ZIPFILE,再显示解压后的ZIPFILE的第12扇区,共56扇区

已重新上传

[ Last edited by GOTOmsdos on 2007-4-17 at 07:05 AM ]
125 发表于 2007-04-04 08:37 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
TOdisk -CMOSKEY
有时当密码不满8位时,生成的CMOS密码可能不准确
126 很 多 機 器 跑 ToDisk 會 當 機 , DJGPP 問 題 ? 发表于 2007-04-07 02:34 ·  中国 香港 Cyber_Express通信公司
银牌会员
★★★
阿林
积分 1,410
发帖 497
注册 2004-06-28 00:00
21年会员
UID 27551
性别 男
来自 九龍,香港
状态 离线

機 會 率 是 40% , 不 知 是 否 DJGPP 或 是 某 個 Class library 觸 發 ?
我 的 網 站 - http://optimizr.dyndns.org
127 发表于 2007-04-07 06:45 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
你是说的 TOdisk DJGPP版本?
我这里运行没问题.
不过可以再检查检查,看看是不是有地方不够完善.

(补充, 其实我做DJGPP版本主要是看能不能提速, 结果虽然作出来了,也可用超大内存和突破DOS64KB限制,运行也正常,可是仍然不能提速,甚至可能还慢了一点.所以那个 TOdisk DJGPP版本就当玩玩吧...)

[ Last edited by GOTOmsdos on 2007-4-7 at 07:06 AM ]
128 发表于 2007-04-07 07:01 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
正在如下改动和新增:

1
写文件前检查可用的磁盘空间,压缩文件的估计空间(包括每次压缩后写入前现场检查可用的空间)

2
对后来加入的功能,增加操作时的中断功能

3
对后来加入的功能,增加显示完成量的及时显示, 百分比. 为了排解程序运行时的等待的枯燥,还加入了一组动态字符显示(-\|/),LINUX检查磁盘时显示的就是这个, 我觉得挺好玩,就加进来了...

[ Last edited by GOTOmsdos on 2007-4-7 at 08:10 AM ]
129 发表于 2007-04-08 09:34 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
以上功能已成功加入,初步测试通过.

打算重新加入支持软盘的功能, 不费事,改几句代码就行了
(以前的老版本是支持软盘的,而且当时还疯狂地设计为支持不能用扩展13中断的老硬盘的!,现在考虑还是把支持软盘的功能再加进来, 毕竟DOS和软盘哥儿两, 有时还是能救急的)

[ Last edited by GOTOmsdos on 2007-4-17 at 07:05 AM ]
130 发表于 2007-04-09 08:17 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
对TOdisk后来的补充功能已成功加入支持软盘功能:

马上再对TOdisk原有的功能加入支持软盘功能

[ Last edited by GOTOmsdos on 2007-4-17 at 07:05 AM ]
131 发表于 2007-04-10 05:02 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
更新已告顺利完成

1
已经加入支持软盘的功能
当以扇区方式操作软盘的时候,可以用 A: 或 B:来代替 表示磁盘的1或2等等数字,
如:
TOdisk -DWF A: 12 34 C:\FILE 56
把A:的起始扇区12 偏移34处的数据存到C:\FILE , 共56个扇区
对于其他的功能,除了备份分区表,DBR,FAT的功能不支持软盘外(因为没必要),也一样可以这样用

2
检查磁盘空间(如是压缩文件就实时检查)

3
并对后来添加的功能加入一个显示由TOdisk生成的压缩文件的压缩信息的功能:
参数如下:
TOdisk -SZ ZIPFILE (SZ : Show Zipfile info)
显示
a
原来被压缩的大小
b
压缩后的大小
c
压缩比
d
是否有密码


至此, TOdisk 的全面功能更新已告完成
已重新上传了

最后打算添加的功能:
在主体程序中,TOdisk用 - 减号表示要操作的起始扇区, 用 + 加号表示要操作的扇区总数,但在文件参数中,不能用 - 减号, 就是说不能指定处理文件内容的第几扇区
(但在后来添加的功能中已经全面支持了), 所以,接下来,想加进这个功能(唯一不支持指定起始扇区的地方), 如果顺利加入的话, 那么 TOdisk 就可以说在磁盘扇区和文件内容的处理方面,指哪打哪了!

[ Last edited by GOTOmsdos on 2007-4-17 at 07:06 AM ]
132 发表于 2007-04-10 05:33 ·  中国 山东 菏泽 联通
银牌会员
★★★
积分 1,246
发帖 488
注册 2003-11-11 00:00
22年会员
UID 12699
性别 男
状态 离线
又该写个同步的readme了。
133 发表于 2007-04-10 05:45 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
没错, 一直在加新功能, 还没时间更新文档呢!
快弄了...
134 发表于 2007-04-10 12:56 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
刚刚加入了从指定扇区指定偏移处写文件内容写到另一文件的功能, 并支持压缩的源文件和目标文件的压缩
参数如下:

TOdisk -FWF FILE1 12 34 FILE2 56
从扇区12偏移34处把FILE1的内容写到FILE2,共写56字节

TOdisk -FWFZ FILE1 12 34 FILE2 56
(压缩,默认级别6)

已更新

[ Last edited by GOTOmsdos on 2007-4-17 at 07:06 AM ]
135 发表于 2007-04-11 04:34 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
发现如下BUG,并更正,

分卷功能时:
1
当创建已存在的文件,程序询问是否覆盖,不覆盖而输入另一个文件名时,便创建新分卷出错.
2
输入另一个不同驱动器上的文件名时,检查磁盘剩余空间的仍是改变前的驱动器

重新上传:

[ Last edited by GOTOmsdos on 2007-4-17 at 07:06 AM ]
论坛跳转: