中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 05:28
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 全面增强《磁盘/系统备份/文件/压缩》集于一身 TOdisk 查看 23,656 回复 183
106 发表于 2007-03-17 03:24 ·  泰国
新手上路
积分 6
发帖 3
注册 2007-03-17 01:48
19年会员
UID 82001
性别 男
状态 离线
太强了
107 TOdisk==〈增强版〉==初步出炉! 发表于 2007-03-17 14:06 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
加入了如下功能:
1
备份和恢复分区表链(支持单硬盘和全部硬盘)
2
压缩和解压文件(只支持单文件)
3
打印扇区和偏移字节(支持硬盘和文件〈包括用本程序作的的压缩文件〉)
4
改写扇区和偏移字节(支持硬盘)

比较扇区和字节功能(支持硬盘和文件〈包括压缩〉)很快加入。

**********
参数如下:
*********
1
备份和恢复分区表链(支持单硬盘和全部硬盘)
/spt Save Partition Table
/rpt restore Partition Table

TOdisk /spt /all file 保存全部硬盘的分区表链
TOdisk /spt 2 file 保存第二硬盘的分区表链


TOdisk /rpt /all file 恢复全部硬盘的分区表链
TOdisk /rpt 2 file 恢复第二硬盘的分区表链

2
/zip
/unzip
TOdisk /zip infile outfile 6 把infile压缩成outfile,压缩强度6(1-9)
TOdisk /unzip infile outfile 把 infile 解压为outfile

3
打印扇区和偏移字节(支持硬盘和文件〈包括用本程序作的的压缩文件〉)

/pds Print Drive Sector
/pfs Print File Sector

/pdb Print Drive Byte
/pfb Print File Byte


TOdisk /pds 2 123 10 打印第二硬盘的第123扇区 总共10扇区,不暂停(这样可用重定向符号>存为文件)
TOdisk /pfs /pause file 123 10 打印文件(支持压缩)第123扇区 总共10扇区,满屏暂停

TOdisk /pdb /pause 2 123 456 10 打印第二硬盘的第123扇区 便移456处 总共10扇区,满屏暂停
TOdisk /pfb /pause file 123 456 10 打印文件(支持压缩)第123扇区 便移456处 总共10扇区,满屏暂停

4
改写扇区和偏移字节(支持硬盘)
/wfc Write (Drive Byte) From Commandline
/wff Write (Drive Byte) From File

TOdisk /wfc 2 123 456 AD EF CF ...
从命令行把数值写入第二硬盘 扇区123 便移456处 共三个字节。。。
TOdisk /wff 2 123 456 7 file 456 123
把文件扇区456 便移123处 写入第二硬盘 扇区123 便移456处 共7个字节。。。

欢迎试玩测试。。。。
由于是初版,参数输入要确保正确, 最好找个无用的硬盘。
不过,我已作了基本测试,基本可以通过,目前没问题。。。

[ Last edited by GOTOmsdos on 2007-4-17 at 07:08 AM ]
108 发表于 2007-03-26 08:26 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
补全了剩下的功能
这样,基本可替代超越了DEBUG的扇区功能...

**********
调整如下:
*********

备份和恢复分区表链(支持单硬盘和全部硬盘)

-SALL Save Partition Table (DBR included)
-RALL Restore Partition Table (DBR included)
此功能能使你误操作分区软件并写盘后使全部分区恢复如初(包括分区的DBR)

TOdisk -SALL file
保存全部硬盘的分区表链

TOdisk -SALL 2 file
保存第二硬盘的分区表链


TOdisk -RALL file
恢复全部硬盘的分区表链

TOdisk -RALL  2 file
恢复第二硬盘的分区表链


压缩解压缩
-ZIP
-UNZIP

TOdisk -ZIP infile  outfile 6
把infile压缩成outfile,压缩强度6(1-9)

TOdisk -UNZIP infile outfile
把 infile 解压为outfile


打印扇区和偏移字节(支持硬盘和文件〈包括用本程序生成的压缩文件〉)

-PDS Print Drive Sector
-PFS Print Print File Sector
-PDB Print Drive Byte
-PFB Print File Byte


TOdisk -PDS  2 123 10
打印第二硬盘的第123扇区 总共10扇区,不暂停(这样可用重定向符号>存为文件)

TOdisk -PFS -PAUSE  file 123 10
打印文件(支持压缩)第123扇区 总共10扇区,满屏暂停

TOdisk -PDB 2 123 456 10
打印第二硬盘的第123扇区 偏移456处 总共10字节,不暂停

TOdisk -PFB -PAUSE  file 123 456 10
打印文件(支持压缩)第123扇区偏移456处 总共10字节,满屏暂停


改写扇区和偏移字节(支持硬盘)
-DWD from Drive1 Write to Drive2 
-CWD from CommandLine Write to Drive 
-FWD from File Write to Drive
-CFD from CommandLine Fill Drive
-DWF from Drive Write to File

TOdisk -DWD 1 123 456 2 456 123 7
把硬盘1扇区123偏移456处写7个字节到硬盘2扇区456偏移123处

TOdisk -CWD 2 123 456 AD EF CF
从命令行把数值 AD EF CF 写入第二硬盘 扇区123 偏移456处 共3个字节。。。

TOdisk -FWD file 456 123 2 123 456 7
把文件 扇区456 偏移123处 写入第二硬盘 扇区123 偏移456处 共7个字节

TOdisk -CFD 2 123 456 7 AD EF CF
把命令行把数值循环填入第二硬盘 扇区123 偏移456处 共7个字节。。。

TOdisk -DWF 2 123 456 file 4567 -ZIP 9
把从硬盘2 的起始扇区123的偏移456处 的4567字节写到文件,并压缩,级别9


比较磁盘,文件(包括本程序生成的压缩文件)
-DCD Drive Compare Drive
-DCF Drive Compare File
-FCF File Compare File

TOdisk -DCD 1 234 12 2 345 13 789
比较硬盘1扇区234偏移12 和 硬盘2扇区345偏移13 总共789字节

TOdisk -DCF -PAUSE  1 234 12 file 345 13 789
比较硬盘1扇区234偏移12 和 文件 扇区345偏移13 总共789字节,满屏暂停

TOdisk -FCF file1 234 12 file2 345 13 789
比较文件1 扇区234偏移12 和 文件2 扇区345偏移13 总共789字节

****************************************
以下是保存恢复MBR,DBR,FAT,CMOS等:

保存单个分区表
TOdisk -SPT C: PT

保存DBR
TODISK -SDBR 1:3 DBR

保存FAT
TOdisk -SFAT 2:1 FAT

恢复
(恢复时不需要输入分区号,只要文件名就行)
TOdisk -R FILE

比较:
TOdisk -C FILE
(比较时,不需要输入分区号,只要文件名就行)


保存CMOS
TOdisk -SCMOS FILE

恢复CMOS
TOdisk -RCMOS FILE

猜出CMOS密码
TOdisk -CMOSKEY


并且显示功能突破DEBUG的64KB限制,包括文件大小限制和显示的字节限制
可高达4G

欢迎试玩测试。。。。
我已作了基本测试,通过,目前没问题。。。



[ Last edited by GOTOmsdos on 2007-4-17 at 07:08 AM ]
109 发表于 2007-03-28 18:43 ·  中国 广东 广州 番禺区 电信
初级用户
★★
积分 107
发帖 52
注册 2007-03-10 04:55
19年会员
UID 81272
性别 男
状态 离线
??????????????
110 发表于 2007-03-29 00:27 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
DEBUG只是个调试器,跟扇区没什么关系,
真不懂是你如何拿两样不同的东东来比较的……晕死。
111 发表于 2007-03-29 05:52 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
Originally posted by download at 2007-3-29 12:27 AM:
DEBUG只是个调试器,跟扇区没什么关系,
真不懂是你如何拿两样不同的东东来比较的……晕死。


DEBUG跟扇区没什么关系?
哈哈! 第一次听说!

DEBUG是个调试器不错,但它也有读写硬盘扇区的功能.你没有用过吗?
我的帖子说的很清楚,是 "DEBUG的扇区功能" , 不是DEBUG的调试功能.
懂DEBUG的都知道,DEBUG有读写磁盘扇区的命令(如: -L 读入, -W写盘,-D显示..-F填充字节等等..)

我真有点晕了
112 发表于 2007-03-29 11:29 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
DEBUG调试器本身就可以随意写汇编和机器码,用A或E就行了,你爱调用什么就调用什么,IO还是INT13就不用我费话了吧
113 发表于 2007-03-29 12:44 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
楼上好象始终没有切入我帖子的主题,
不知道是什么思维? 学计算机的思维不该是这样吧?
1
不同的东西,如果在某些方面有共同的功能或特性,那么在这一方面也是有可比性的
比如,男人和女人在人这方面是同类的. 有可比性,比如,在体力,智力,情绪等等方面.
那么是不是女人就只能和男人有可比性而和别的东西一定没有可比性呢?
比如,在生育方面,男人不能生育,女人和男人怎么比?
在这方面,雌性动物都和女人有共同点,自然就有可比性. 比女人和雌性大猩猩的生育各方面的情况..
女人爱哭,怕小虫虫,情绪易脆弱,在这方面其实和小孩更有共同性..

2
楼主语录: 说 "DEBUG只是个调试工具" "跟扇区没关系'

我们看看,是不是这样的?
下面是DEBUG的全部命令:

assemble A 汇编
compare C range address 比较内存字节
dump D 查看内存字节
enter E address
    改内存字节
    fill F range list 填充内存字节
    go G 执行汇编
    hex H value1 value2 计算数值
    input I port 输入端口
    load L 将硬盘扇区装到内存
    move M range address 移动内存字节
    name N 打开文件
    output O port byte 输出端口
    proceed P 继续汇编码(好象是)
    quit Q 退出
    register R 设置寄存器值
    search S range list 搜索字节
    trace T 跟踪汇编码
    unassemble U 反汇编
    write W 写到硬盘扇区

    好了,看一看,有哪些命令是用来调试的?
    实际上,只有 A G P T R 五个(占DEBUG的小部分)是真正用来调试程序的,DEBUG的一半命令是用于内存,硬盘扇区和文件的工具, 也就是说,DEBUG也可给不会汇编的人用于读写内存,硬盘扇区和文件...

    当然,用DEBUG比较烦琐,需要懂硬盘内部结构和DEBUG语法,我的TODISK加入的新功能,在读写硬盘扇区和文件方面,可以替代并超越DEBUG的以下9个命令
    (重复一下:是在读写硬盘扇区和文件时,不包括仅仅查看内存)

    DEBUG TODISK 为(类似)
    C -DCD DCF FCF
    D -PDS -PDB -PFS -PFB
    E -CWD -FWD -DWD
    F -CFD
    L ... (以上含盖)
    M ...(以上含盖)
    N ...(以上含盖)
    W ...(以上含盖)

    实际上, 比较全面的说法 是:
    DEBUG 是 调试器,反汇编器,内存编辑器,磁盘扇区读写器,文件读写器,硬件端口读写器和加减计算器..

    [ Last edited by GOTOmsdos on 2008-5-5 at 01:46 PM ]
114 发表于 2007-03-29 22:17 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
哈哈,楼上的有意思,我只是灌水了,你何必这么认真……纯路过……
115 发表于 2007-03-30 09:28 ·  中国 香港 Cyber_Express通信公司
银牌会员
★★★
阿林
积分 1,410
发帖 497
注册 2004-06-28 00:00
21年会员
UID 27551
性别 男
来自 九龍,香港
状态 离线
Originally posted by download at 2007-3-29 10:17 PM:
哈哈,楼上的有意思,我只是灌水了,你何必这么认真……纯路过……



不 認 真 就 做 不 出 好 東 西 , 也 就 是 做 甚 麼 都 比 別 人 差 ...

這 樣 真 的 好 嗎 ?
我 的 網 站 - http://optimizr.dyndns.org
116 发表于 2007-03-30 12:37 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
johnsonlam 兄你好..

这几天有点时间,很想解决的速度问题,可能一时解决不了. 就把我以前写的DOSBACK备份恢复MBR,DBR,FAT,CMOS的功能加加进来,也大大的加强了一些额外的功能,这样就较全面了,放在一个程序里用起来方便,一个小程序可解决很多问题..

1
DEBUG的扇区功能,原还剩一个功能(从硬盘扇区偏移读到文件,),现在也加进来了.
并支持压缩.
这样就完全替代超越了DEBUG的扇区功能了..
参数如下:
TOdisk -DWF 1 1000 123 FILE 12345 -ZIP 9

2
加进了dosback 的备份恢复MBR,DBR,FAT,CMOS的功能,完善为可处理任何硬盘任何分区的MBR,DBR,FAT,并也增加了和原分区的比较功能,

参数如下:

保存:
TOdisk -SPT C: CPT
TODISK -SDBR 1:3 DBR
TOdisk -SFAT 2:1 DFAT

恢复
(恢复时不需要输入分区号,只要文件名就行)
TOdisk -R FILE

比较:
TOdisk -C FILE
(比较时,不需要输入分区号,只要文件名就行)

CMOS

备份:
TOdisk -SCMOS FILE

恢复
TOdisk -RCMOS FILE

生成一个有效的CMOS密码
TOdisk -CMOSKEY

发布:

[ Last edited by GOTOmsdos on 2007-4-17 at 07:09 AM ]
117 发表于 2007-03-31 09:01 ·  中国 江西 南昌 电信
中级用户
★★
积分 486
发帖 171
注册 2006-02-12 13:53
20年会员
UID 50233
状态 离线
要是能像最新的GHOST那样全面支持NTFS就好了
Those who do not study the past are condemned to repeat it
118 发表于 2007-03-31 23:44 ·  中国 香港 Cyber_Express通信公司
银牌会员
★★★
阿林
积分 1,410
发帖 497
注册 2004-06-28 00:00
21年会员
UID 27551
性别 男
来自 九龍,香港
状态 离线

Originally posted by GOTOmsdos at 2007-3-30 12:37 PM:
johnsonlam 兄你好..


gotoMSDOS 兄 你 好 :

抱 歉 , Jack 因 為 很 少 用 C 語 言 , 未 能 針 對 你 的 問 題 找 到 解 決 方 法 , 幫 不 了 多 少 忙 。


这几天有点时间,很想解决的速度问题,可能一时解决不了. 就把我以前写的DOSBACK备份恢复MBR,DBR,FAT,CMOS的功能加加进来,也大大的加强了一些额外的功能,这样就较全面了,放在一个程序里用起来方便,一个小程序可解决很多问题..


這 樣 TOdisk 就 更 多 功 能 更 強 了 , 恭 喜 !


1
DEBUG的扇区功能,原还剩一个功能(从硬盘扇区偏移读到文件,),现在也加进来了.
并支持压缩.
这样就完全替代超越了DEBUG的扇区功能了..
参数如下:
TOdisk -DWF 1 1000 123 FILE 12345 -ZIP 9

2
加进了dosback 的备份恢复MBR,DBR,FAT,CMOS的功能,完善为可处理任何硬盘任何分区的MBR,DBR,FAT,并也增加了和原分区的比较功能,

参数如下:

保存:
TOdisk -SPT C: CPT
TODISK -SDBR 1:3 DBR
TOdisk -SFAT 2:1 DFAT


這 參 數 很 易 理 解 , 太 好 了 !

PT=Partition Table
DBR=DOS Boot Record
FAT=File Allocation Table


恢复
(恢复时不需要输入分区号,只要文件名就行)
TOdisk -R FILE

比较:
TOdisk -C FILE
(比较时,不需要输入分区号,只要文件名就行)


是 否 位 置 的 資 料 都 寫 在 文 件 裡 面 了 呢 ?

比 較 是 和 硬 盤 的 比 較 吧 ?
例 如 : TOdisk -C DFAT
是 檔 案 和 D: 的 FAT 作 比 較 吧


CMOS

备份:
TOdisk -SCMOS FILE

恢复
TOdisk -RCMOS FILE

猜出CMOS密码
TOdisk -CMOSKEY


這 個 也 非 常 有 用 呢 !

我 正 想 把 TOdisk 參 數 理 解 出 來 , 對 不 編 程 的 我 和 初 哥 們 較 易 理 解 , 可 是 近 來 公 司 很 忙 , 延 遲 至 今 天 也 未 完 全 搞 好 ... 總 算 有 點 頭 緒 了 !

不 知 新 版 有 否 改 動 , 舊 版 的 理 解 是 :

TOdisk {source} {destination}

{source} 可 以 是 簡 單 的 drive letter , 或 partition 如 1:1

{destination} 是 壓 縮 檔 名 字 和 其 特 徵 以 = 符 號 連 接 , 如 壓 縮 檔 存 放 在 d: , 名 字 是 drv-c.toz , 壓 縮 率 為 9 , 寫 法 就 是 d:\drv-c.toz=c9 , 加 上 括 號 表 示 這 是 一 個 整 體 的 命 令 .... 再 加 參 數 也 只 是 這 個 格 式 的 延 伸 。


[ Last edited by johnsonlam on 2007-3-31 at 11:45 PM ]
我 的 網 站 - http://optimizr.dyndns.org
119 发表于 2007-04-01 01:47 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
抱 歉 , Jack 因 為 很 少 用 C 語 言 , 未 能 針 對 你 的 問 題 找 到 解 決 方 法 , 幫 不 了 多 少 忙 。

没用C语言,其实没关系的,只要麻烦他说一说思路就可以了,至于用C语言的什么函数实现这个思路是我自己的事..(一般,不同的语言,基本能实现相同相似的功能的,只是写法不同而已...)

是 否 位 置 的 資 料 都 寫 在 文 件 裡 面 了 呢 ?

比 較 是 和 硬 盤 的 比 較 吧 ?
例 如 : TOdisk -C DFAT
是 檔 案 和 D: 的 FAT 作 比 較 吧


是这样的.
因为位 置 的 資 料 都 寫 在 文 件 裡 面 , 所以-R (恢复单个分区表,单个DBR或单个FAT)和-RALL(恢复机中全部硬盘或整个硬盘的分区表链和DBR)的道理也是一样
也就是说,你不需要记住当时保存的是哪个分区,是分区表还是DBR,还是FAT等等,
只要有文件就行了,用8个字节记录了的.
(不过,这就不能直接使用其他一般的工具来恢复了,因为多了8个字节.不过,如果一定要用也可以的,去除前面的8个字节就行;)
(当然事实上,你保存的时候,起的文件名是要帮助你自己记的. 另外,推荐使用 -SALL 和 -RALL来保存和恢复全部硬盘或某个硬盘的分区表和DBR<没有FAT>,一切都不要你费心.)


TOdisk {source} {destination}

应该是: TOdisk {source} TO {destination}
加上TO的意图是明确左边是源
(因为,有些程序,目标是放在左边.), 而且这也是TOdisk的标签和象征吧.


{source} 可 以 是 簡 單 的 drive letter , 或 partition 如 1:1

{source} 和 {destination} 也可以是文件,但是它们自然不能同时是文件(这就不是备份和恢复了, 不过这种情况可以是复制文件,比较文件或压缩解压缩文件, TOdisk也有比较文件和压缩解压缩文件的功能, 用法参看其他说明)


{destination} 是 壓 縮 檔 名 字 和 其 特 徵 以 = 符 號 連 接 , 如 壓 縮 檔 存 放 在 d: , 名 字 是 drv-c.toz , 壓 縮 率 為 9 , 寫 法 就 是 d:\drv-c.toz=c9 , 加 上 括 號 表 示 這 是 一 個 整 體 的 命 令 .... 再 加 參 數 也 只 是 這 個 格 式 的 延 伸 。

加上括号主要是跟硬盘参数,分区参数和盘符参数区别开来.

[ Last edited by GOTOmsdos on 2007-4-1 at 03:19 AM ]
120 发表于 2007-04-01 03:50 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
Originally posted by henrya2 at 2007-3-31 09:01 AM:
要是能像最新的GHOST那样全面支持NTFS就好了


支持NTFS 这个没有在程序的计划中,时间不允许
不过,如果只有NTFS分区存放备份文件, 可以试试 先加载NTFSPRO,然后再运行本程序,看看行不行. 这要看NTFSPRO是不是稳定了..
论坛跳转: