Board logo

标题: 全面增强《磁盘/系统备份/文件/压缩》集于一身 TOdisk [打印本页]

作者: GOTOmsdos     时间: 2006-8-29 19:54    标题: 全面增强《磁盘/系统备份/文件/压缩》集于一身 TOdisk
有时用GHOST备份失败,可能文件出了什么问题。。。
就自己写了个程序 TOdisk 成功地备份了。。
用扇区方式备份硬盘或分区或任意扇区。。。
支持压缩和分卷,扩展分区,多任务。。。等等。。

多谢 中国DOS联盟的johnsonlam兄(香港),fastslz兄 等等热心网友, ddcopy作者李治先生和 老外Lucho的帮助和支持!

欢迎访问 http://www.cn-dos.nethttp://johnson.tmfc.net/dos/index.html 进行DOS交流

说明如下:

硬盘/分区/扇区 =freE=(自由) 备份/恢复器 ==TOdisk ==(扇区模式)
版本:1.3 alpha
运行环境: MS-DOS / Win9xMS-DOS窗口 (如加载UDMA驱动,可能运行反常)

TOdisk version 1.3 Alpha Copyright (C) 2006-2007 by GOTOmsdos, 2007-1-13
Email: tdaim@sina.com
语法:
<执行模式>
TOdisk 源串1 TO 目标串1 ]]]]

<查看模式>
TOdisk |-P|]]

<执行模式>

源/目标 串: (硬盘串, 分区串, DOS盘符串, 镜象文件串)
1, 硬盘 串 >> 1 or 2...n
2, 分区 串 >> 1:2 or 2:3...n:n
3, DOS盘符 串 >> C: or D:... Z:
4, 镜象文件 串 >>
镜象文件参数:
Cn - C : (compress)压缩
n : 压缩级别(1-9,6 可能是强度和速度的最佳平衡点,如没有级别,则取默认的6)
K - K : key 压缩密码,需要提示输入密码
Vn - V : (volume) 分卷
n : 每卷大小的MBs(从1到2047) 如果没有指定,默认是2047
E? - E : (every)每卷的压缩密码跟第一卷的一样
? : 每卷都要提示输入压缩密码

--A
是目标时:
(c:\image.to) <不压缩,不分卷>
(c:\image.to=Vn) <不压缩,分卷>
(c:\image.toz=Cn) <压缩,不要密码,不分卷>
(c:\image.toz=Cn=K) <压缩,要提示输入密码,不分卷>
(c:\image.toz=Cn=K=Vn) <压缩,要提示输入密码,分卷,只有第一卷(即第一个镜象文件)有密码>
(c:\image.toz=Cn=K=Vn=E) <压缩,要提示输入密码,分卷,每卷的密码跟第一卷的一样>
(c:\image.toz=Cn=K=Vn=E?) <压缩,要提示输入密码,分卷,每卷都要提示输入密码>
例子:
(g:\image.toz=c7=k=v1000=e?)

(注意:在多任务中,当镜象文件串是目标时,只能位于最后一个(所以,也只能有一个)
例子:
合法:
1:1 TO 2:3,3:4,(g:\image.toz=c=v)
1:1,2:2,3:3 TO 2:3,3:4,(g:\image.toz=c=v)

1:1 TO 2:3,(g:\image.toz=c=v)+10000,3:4
1:1,2:2,3:3 TO 2:3,(g:\image.toz=c=v)+20000,3:4
1:1,3:4,4:4 TO 2:3,(f:\image1.toz=c=v)+30000,(g:\image2.toz=c=v)

1:1,2:2,3:3 TO 2:3,(g:\image.toz=c=v),3:4 -p
1:1,3:4,4:4 TO 2:3,(f:\image1.toz=c=v),(g:\image2.toz=c=v) -p
不合法 1:
1:1 TO 2:3,(g:\image.toz=c=v),3:4
1:1,2:2,3:3 TO 2:3,(g:\image.toz=c=v),3:4
(自由模式,既不是最后一个也没指定要操作的扇区数<用'+'>)
不合法 2:
1:1,3:4,4:4 TO 2:3,(f:\image1.toz=c=v),(g:\image2.toz=c=v)
(自由模式,既超过了一个镜象文件串也没为最后一个之前的镜象文件串指定要操作的扇区数<用'+'>)
)

--B
是源时(会自动判断是否是压缩,所以,即使以to为后缀的压缩文件也能被识别为压缩文件):
(c:\image.toz) <不自动搜索分卷>
(c:\image.toz=V) <自动搜索分卷>

<镜象文件名,如不压缩建议后缀为to, 如压缩建议后缀为toz, 以免跟其他文件名混淆,不过程序并不强制这样)

在源/目标串中
- : 指定要操作的起始扇区
+ : 指定要操作的扇区数
但在镜象文件串中不被允许
例子:
1-5000
1:2+5000
D:-5000+10000
(g:\image.toz)+3000

源/目标串开关:
=q : quiet 安静(无询问)
=m : mute 沉默(无信息显示)
=i : ignore 忽略(忽略读写错误,但对镜象文件串无效)
=n : next 下一个(如果遇到致命错误,就继续下一个任务)
例子:
1:2=q=m,3:4 TO 4:1=i=n,(file=c)=q=m

如果源/目标串中有 - + 操作符,那么
用在源/目标串中的以上的参数( i, q,m, n) 必须放在 - 或 + 的后面:(当然,在 匹配模式 -d,
-p 中,本来就不能有- + 操作符,自然就不存在这个问题 )
例子:
1:2-300+400=q=m,3:4 TO 4:1=i=n,(file=c)+500=q=m


全局开关 1 (模式开关):

--A
(匹配模式)
-d|p 硬盘|分区 子模式
在匹配模式中,源串和目标串的个数必须相等。此外,在分区模式中,如果目标串是分区,要更新分区ID)

-d 硬盘模式例子:
1,2 TO 3,4 -d
等价于两次分开的操作:
1 TO 3
2 TO 4
但不等价于
1,2 TO 3,4
除非1,3大小相同, 2,4大小相同

-p 分区模式例子:
1:2,4:3,2:2 TO 2:3,(d:\back.toz=c),4:5 -p
等价于三次分开的操作:
1:2 TO 2:3 -p
4:3 TO (d:\back.toz=c)
2:2 TO 4:5 -p
(其中,由于第一和第三任务既是分区模式又是写分区<目标是分区不是镜象文件>,所以,即使在分开的操作中也要加上 -p, 表示要更新分区ID. )


--B
(自由模式)
无 -d|p 开关
在自由模式中,不要求源串和目标串的个数相等,前后任务之间的数据传输有相互接续的关系)

比如:

硬盘1 总扇区 1000
硬盘2 总扇区 2000
硬盘3 总扇区 1500
硬盘4 总扇区 3000

1,2 TO 3,4
这是自由模式,过程如下:

任务 1:
硬盘1 传递给 硬盘3 1000个扇区 (硬盘1 完成任务,退出)
任务 2:
硬盘2 传递给 硬盘3 1500-1000=500个扇区 (硬盘3 完成任务,退出)
任务 3:
硬盘2 传递给 硬盘4 2000-500=1500 个扇区 (硬盘2 完成任务,退出)
程序便退出(因为 源和目标已经有一方完成了)

程序这样处理是考虑到 灵活性: 可能 使用者 可能并不确切的知道各个分区,硬盘的精确大小等等东西,但是又想完成前面的已经满足
条件的数据...

在自由模式中,不要求源串和目标串的个数相等,因为前后任务之间的数据传输有相互接续的关系
例如:
1 TO 2:3,3:4,4:5,(g:\file.to)

全局开关 2 :

(下列位于命令行参数的后端,对全部任务有效):
-q|quiet : 安静(无询问)
-m|mute : 沉默(无信息显示)
-i|ignore : 忽略(忽略读和写错误,但对镜象文件串无效)
-ir|ignorereaderror : 忽略读错误
-iw|ignorewriteerror : 忽略写错误
-n|next : 下一个(如果遇到致命错误,就继续下一个任务)

例子:
1:2,E: TO 2:3,(back.toz=c) -q -m -n -i

总的例子:

单任务:
1 TO 2
复制硬盘1到硬盘2

1-100+1000 TO 2-200
从硬盘1第100扇区复制到硬盘2的第200扇区,总共复制1000个扇区
1:2 TO 2:3
复制硬盘1分区2到硬盘2分区3

1:2-200+1000 TO 2:3-300
从硬盘1分区2第200扇区复制到硬盘2分区3的第300扇区,总共复制1000个扇区

1:2 TO (d:\backup.toz=c=k=v1000=e?)
备份硬盘1分区2到镜象文件d:\backup.toz
c - 压缩级别6
k - 提示输入压缩密码
v1000 - 分卷,每卷大小1000 MBs
e? - 每卷都要提示输入压缩密码

多任务:
匹配模式:
1:2,(h:\image.toz=v),2:3 TO (g:\image.toz=c=v),D:,3:2 -p
自由模式:
1:2,2:3-2345,3:4 TO 3:3-1234+300,4:1+3456,(i:\image.toz=c=v1000)

<查看模式>

警告!!!
程序显示出的分区总表中的 DOS 盘符 是按照 DOS的盘符分配规律推测出的,不一定准确,尤其是场合性的挂载额外的驱动器

(如U盘,移动硬盘,虚拟盘等),仅作参考。但是表中显示的分区数字是没有问题的。

-Dn 显示硬盘n的信息
-P 显示全部硬盘全部分区的信息
noz|nozero : 不显示分区ID为0的分区
noh|nohidden : 不显示隐藏分区
nozh|nozerohidden : 不显示分区ID为0的分区和隐藏分区
fn|fatntfs : 显示FAT和NTFS分区
f|fat : 显示FAT分区
l|linux : 显示LINUX分区

n:n - 1:2 or 2:3 ...
A: - C: or D: ... Z:

例子:
-d : 显示全部硬盘
-d2 : 显示硬盘2
-p : 显示全部硬盘全部分区
-pfn : 显示FAT和NTFS分区
-p2:3 : 显示硬盘2分区3
-pc: : 显示 C:

*********
补充说明
*********

本程序采用的是扇区方式:

企业方式或者是极其重要的数据,应该采用扇区方式.

×××××××××××××××××××××
特别建议:
1
本程序很适合备份塞满文件的分区。
2
由于是扇区方式,所以可以备份任何文件系统的 分区(包括LINUX等等。。。)

不过,如果要备份到镜象文件,镜象文件所在分区只能是FAT/FAT32.
××××××××××××××××××××××××××××××

骨干开关:

一 匹配模式(包括 硬盘模式(-d) 和分区模式 (-p))

这种模式最常用,尤其是 分区模式.

这种模式由于处理的是 格式数据(硬盘和分区),所以,要匹配,至少是原数据块要小于目标数据块(在这种情况下,如果是分区模式,除了

把源分区的分区ID,和80/00是否活跃标志共两处,两个字节更新到目标分区外,目前不支持更新分区的大小,这涉及到搬移其后的所有分

区!,而且,对于一般用户,用的较少,一般都是哪里来哪里去的,起到一个备份恢复作用..)

由于是格式匹配模式,所以不允许使用 - 和 + 操作符.

匹配模式 的 源串和目标串的个数必须相等,否则警告退出

匹配模式支持镜象文件串.

除了分区模式要用源分区的分区ID和80/00更新目标分区的分区表外,

多任务的匹配模式 等价于自由模式的单任务的无 - + 的个数相同的一对一的串合。

二 自由模式(没有 -d 和 -p 参数)

这是精确到扇区的方式,可以任意指定要处理的起始扇区(前缀 是 - )和扇区操作数(前缀是 + , 小联想:

GRUB 也是用 + 表示要加载的数据块(扇区)的个数).

如:
1-100+200 表示 从硬盘1 的开始扇区100处执行 执行扇区数为200

镜象文件串也支持 + 操作符,但不支持 - 操作符.

技术上,是可以支持的,但是,要在文件的海量之处都作上记号,但这将极大的降低文件读取的速度

如:
(e:\back=c=v100)+1000 表示总共执行文件含有的总扇区的1000个扇区

如下非法:
(e:\back=c=v100)-1000 试图从文件含有扇区的第1000个扇区处执行,但非法.

这种模式对 RAW数据的恢复非常有用.也就是用尽了全部文件式数据恢复工具不能找到数据的情况下,就要借助于扇区模式了..

源/目标串

硬盘串:
1
执行为:
硬盘1 开始扇区0 处理扇区为整个硬盘的总扇区

分区串:
1:1
执行为:
硬盘1 分区1的开始扇区 处理扇区为分区1的总扇区

DOS盘符串:
C:
程序在分区表中找出其对应的分区,然后等同于分区串

镜象文件串
要用括号括起来()
完全的参数如下:
(d:\image=c=k=v1000=e?) 用 = 号 连接

第一为文件名(8.3格式)

Cn C(COMPRESS) 压缩, 9 为压缩级别,(1-9,6 可能是强度和速度的最佳平衡点,如没有级别,则取默认的6)

K (KEY),表示压缩文件有密码. 默认没有密码,有K,表示要有密码,那么当程序创建压缩镜象时,会要求用户输入密码,以便下次用文件

恢复到硬盘前,也要用户输入密码,这是安全需要.

(但是,仅有K,只会对第一个压缩文件要求密码,如果有分卷,不会后面的分卷要求密码)

Vn V(Volume)表示有分卷功能, 在把硬盘数据存为分卷文件时,用户可以指定每个分卷的大小(以MB为单位 ),n 表示 MB,默认是2047

V1000 表示 以每 1000MB为一卷

(补充: 当文件参数在左边时,也就是源位置时, 如没有V, 程序将只处理一个文件,不擅自寻找是否有分卷(因为这样有可能自做主张

了. 如果 有 V, 将自动寻找其分卷,但只要给出 这个 V 即可,无需 n)

E? E (Eevry)表示对每个压缩的分卷要求密码,如果没有 ? , 程序会把第一文件(母卷)的密码都自动写入后面的分卷中.如果有 ? 表

示 对每个压缩的分卷文件要求密码,并且 停下来,等待用户输入.

***********************************************
关于本程序采用的压缩库 zlib 和艰辛的寻找过程
***********************************************

1
试了,简单古老版的 LZ, LZW,HUFFMAN,LZHUF,LZSS,LZHARC, LZ77,LZARI,LZRW1等等,都不理想,太老,效率太低,只能用来教学。
2
看了 ARJ/UNARJ,有很多我不要的功能。。
3
曾定在 GZIP(BZIP2,基本差不多),很不错,也觉得有点适合我,压缩比和速度都很好,还有1-9的压缩比选项。。钻研了几天,
发现没有内存压缩,只有文件压缩,。。。
4
看到一个提示: zlib 支持内存压缩!
确定它了!
(ZLIB和GZIP,PNG都采用相同的引擎:基于LZ77和HUFFMAN的结合,当然和前面提到的古老原始的版本是不可同日而语的)

在此过程中,与DDCOPY作者李治联系了。取得了DDCOPY源么,对我有启发。。

不过,试了DDCOPY的压缩,不太理想,豪时长,压缩比低。因为他采用的压缩/解压的类较简单,就两个文件(用简单的LZSS,

胡颖卓编写的类,后来我也在网上看到了)

采用的压缩引擎是先进的最新版的 zlib-1.2.3 库(与GZIP,PNG图象用的同一个引擎),

压缩比和压缩速度很快,解压速度更快的离谱!

在WIN32 控制台程序中,压缩50MB,大约要20秒,压为了25MB。

解压只要大约3秒! 我*!

还有 压缩比的1-9选项(类似GHOST)。。。

ZLIB 压缩比相当高 采用 优化高效的 LZ77 和 HUFFMAN 结合,DEFLATE方式

而且速度与同类的压缩库相比要快的多! (如果比较压缩库,应该是与GHOST速度和压缩比差不多的.. )

*****************************
本程序的局限性和待增加的功能
*****************************

由于是DOS程序, 文件参数只支持FAT系列的盘符

计划加入处理指定的镜象中的第几硬盘和第几分区

***************
几个有用的开关
***************

1 i|ignore (还有 ir|ignorereaderror iw|ignorewriteerror)
忽略磁盘的 读写错误, 这样的话,就不会因为较少的介质问题而终止整个程序。

2
q | quiet
不要提示,直接执行(但对诸如文件打不开等,仍然要跟你要文件名的。。等等)

3 n | next
当执行某个任务发现致命的错误时,不退出整个程序,继续执行下一个任务(但仍然根据前一个已完成的数据量对下一个任务的数据量作
更新)

4 m | mute
不显示信息

这几个开关的使用地点:
单个字母既可用于源/目标串中〈仅对其源/目标串的任务起作用〉,也可用于全局〈对全局起作用〉;而两个或两个以上的字符只能用于全局):

其中,i
a
用在硬盘/分区/DOS盘符串:(用 =连接)
如:
1=i TO 2 (忽略读硬盘1的错误,但不忽略硬盘2的写错误)
1:1 TO 2:3=i (忽略写硬盘2分区3的 写错误,但不忽略读硬盘1分区1的读错误)
e:=i TO 2:3=i (都忽略)

但是忽略开关(-i)不能用在镜象文件串中(因为文件不是设备。如果在读写文件的过程中DOS给出了错误,是不能忽略过的,程序会提示
你,重新输入文件名)

b
用在后面的独立之处(对全部任务起作用),等价于 -ir 和 -iw
如:
1:2,E: TO 2:3,(BACK.TOZ=C) -i(也可-ir -iw) (忽略全部任务的读错误和写错误)

q | quiet (没有采用 y ,以免 跟 n 混同,以避免使用者误以为 y 表示不给提示,n 表示给提示。)

Last edited by GOTOmsdos on 2007-4-19 at 12:45 PM ]
附件 1: 修正更新版1 TOdisk-1.1a.rar (2006-9-15 11:41, 53.07 KiB, 下载附件所需积分 1点 ,下载次数: 98)
附件 2: 修正更新版2 TOdisk-1.2a.rar (2006-9-15 11:42, 52.93 KiB, 下载附件所需积分 1点 ,下载次数: 126)
附件 3: 最新版TODISK3.5.3.zip (2007-4-19 12:44, 85.86 KiB,下载次数: 248)

作者: s2731     时间: 2006-8-29 20:31
最好动员论坛的用户都来测试下。

作者: GOTOmsdos     时间: 2006-8-29 20:42
已专门买了160GB硬盘,测试通过,目前尚未发现问题..
欢迎大家参与...

作者: fastslz     时间: 2006-8-29 21:48
汗...
我好惨啊...
刚才折腾了一阵,mydisk用了什么参数也记不清了。
现在C盘和H盘内容一样,容量也一样,(原C盘5G,H盘16G),用DEBUG备份下分区表,用Disk Genius重建分区表...存盘后再次重启.....让我眼冒金星发生了系统启动不了,6个分区还省3个(存放分区表备份文件G盘也不见了)急啊.....
还好有个WinXP Embedded, 启动WinXP Embedded居然认出了DOS下认不出已经错乱的FAT32分区,恢复分区表我的宝贝F: G出来了。
哎......Disk Genius靠不住啊
现在H盘看来没法还原了,不过那也不重要一些BT下来的电影。

作者: GOTOmsdos     时间: 2006-8-29 22:24
用 mydisk 作写盘操作时,除了 PTO模式在其相应的分区表上更新 FS 的 ID,一个字节和源分区的80或00,一个字节. 除此之外,不写分区表的重要记录的.

另, mydisk 的全部模式 都不会把大的原数据写到小的目标数据!
如果两盘大小不一样,只允许把小的数据块写到大的数据块...

你是用 MYDISK 写了 C或H盘吗? 如果是这样, C和H完全一样.就说明操作运行正常的
此次操作是正确的,不知道你后来怎么回事?

mydisk -P 可显示全部分区表的,你操作之前先看看,而且,程序中会给出具体操作提示的,写盘操做还多一次写盘警告的..

Last edited by GOTOmsdos on 2006-8-29 at 22:30 ]

作者: fastslz     时间: 2006-8-29 22:24
GOTOmsdos
1:1 to 1:6:\123.z和1:1 to 1:6\123.z哪个是正确的?

作者: GOTOmsdos     时间: 2006-8-29 22:36
哦!

带有文件的参数 要用括号括起来的,因为后面要带参数的

(很抱歉,文件参数只支持FAT格式系列,不支持NTFS..,其他参数就没有限制)....

所以,下面不支持
1:1 to 1:6:\123.z

只能
1:1 to (X:\123)

你可以看一下,程序的帮助,键入 mydisk 就可以了

Last edited by GOTOmsdos on 2006-8-29 at 22:37 ]

作者: GOTOmsdos     时间: 2006-8-29 22:54
关于处理模式和速度:
GHOST 采用文件模式,即使只处理文件,不处理没有文件的数据,(所以,其实GHOST不是CLONE.是重整).这样,速度就快了,尤其是文件少的分区,但是,弱点是:用这种方式恢复的分区,不可能找回被删除的或丢失的文件,因为,没有合法文件的数据没有被保存.
MYdisk 是采用扇区方式,就是完全的复制,这样,虽然速度没有文件方式快,但是确是全真方式.即一模一样,这才是真正的 CLONE.

其实,企业方式或者是极其重要的数据,应该是采用扇区方式.

作者: fastslz     时间: 2006-8-29 22:57
55555
不会把1:1 to 1:6:\123.z当成1:1 to 1:6运行了吧。
帮助看了,6号分区也是FAT32,算自作聪明了(以ghost参数为例犯下了错)

你先试试,我现在暂且不做磁盘操作,再想想有什么办法把回原来的H盘。之后继续测试。

作者: GOTOmsdos     时间: 2006-8-29 23:27
哦,多谢参与测试...

程序会给出提示的,诸如 分区号,文件名等等,不知道你当时看了没有?
好象,不太可能,虽然,程序刚完成,对参数输入的检测还不强健,但是程序会把1:后面的字符,如果没有 - 和 + ,用 atoi()函数转换成整型数, 6:\123 这个字符串应该不会成功转换的吧..

Last edited by GOTOmsdos on 2006-8-29 at 23:29 ]

作者: 本是     时间: 2006-8-30 11:08
RE: GotoMsDos:
建议:MyDisk改名为TrueDiskClone(磁盘全真克隆机),简称TDC(全克隆)。

RE: FastSLZ:
同情:动手磁盘前一定要先备份磁盘MBR/BOOT/PartTab(分区表)、还有重要数据!最好能有一块空闲的硬盘作全盘备份!
再好的软件也有BUGs!
再高的高手也有ERRORs!

作者: GOTOmsdos     时间: 2006-8-30 17:31
磁盘全真克隆机?
嘿嘿,名字挺好听啊!

我起 MYdisk 主要考虑到简单易记, MY 感觉到亲切, 没有从功能上来起,那样的话,就要用几个词, 难免拗口,,
磁盘全真克隆机 名字挺好听,也有点霸气. 不过,从这个名字上, 好象给人只能处理磁盘间的复制. 其实,本程序远远不光是这个.(如果仅仅是磁盘间复制,其实只要几十行代码就解决了...难度不大的).

程序涉及到几方面:

磁盘
分区
镜象文件
压缩/解压缩
分卷的自动化和可变更性
任务的集合性

其实,本程序与其他程序最不一样的地方 是在:

灵活性
集合性
和参数的特别
...

作者: GOTOmsdos     时间: 2006-8-30 17:35
TO fastslz
已更正了 1:1 to 1:6:\123.z 的问题
现在会警告了
也改进了其他几个问题,重新上传了..

Last edited by GOTOmsdos on 2006-8-30 at 17:47 ]

作者: fastslz     时间: 2006-8-31 11:31
克隆过程显示有待改进,连续滚屏有点难受。
磁盘操作工具慎之又慎,对非法参数再加强一点。帮助文档尽可能详细点,虽然我不懂E文还是希望你添加E文帮助文档(虽然这里老外来光顾的很少但是香港朋友也很多)

对你的 MYdisk比较看好,继续努力......

Last edited by fastslz on 2006-8-31 at 11:32 ]

作者: GOTOmsdos     时间: 2006-8-31 15:55
多谢支持。。
因为是测试阶段,滚屏是由于显示运行过程中的 各变量的值造成的,随时都可以拿掉的
对参数的输入已作了基本的容错,正改进加强中。。

现正在加入几个有用的开关:
1 i|ignore ir ignoreRead iw|ignoreWrite
忽略磁盘的 读写错误, 这样的话,就不会因为较少的介质问题而终止整个程序。

2 q | quiet
不要提示,直接执行(但对诸如文件打不开等,仍然要跟你要文件名的。。等等)

3 n | next
当执行某个任务发现致命的错误时,不退出整个程序,继续执行下一个任务(但仍然根据前一个已完成的数据量对下一个任务的数据量作更新)

这三个参数的地点:

1
可在两种参数中给出

a
i 用在硬盘/分区/盘符参数组:(用 =连接)
如:
1=i to 2 (忽略读硬盘1的错误,但不忽略硬盘2的写错误)
1:1 to 2:3=i (忽略写硬盘2分区3的 写错误,但不忽略读硬盘1分区1的读错误)
e:=i to 2:3=i (都忽略)

但是忽略开关不能用在文件参数中(因为文件不是设备。如果在读写文件的过程中DOS给出了错误,是不能忽略过的,程序会提示你,重新输入文件名)

b -ir -iw 用在后面的独立之处(对全部任务起作用)

如:
1:2,E: to 2:3,(BACK.TOZ=C) -ir -iw (忽略全部任务的读错误和写错误)

2 q | quiet (没有采用 y ,以免 跟后面的 n 混同,可能使使用者误以为 y 表示不给提示,n 表示给提示。。)

可以用在任何地方,包括文件参数组
如用在参数组(用 = 连接),仅对参数组起作用:
1:1=q,2:3 to 2:4,3:4

(用于文件参数组时,必须在()之后):
1:1,(FILE.Z=v)=q to 4:3,2:3

如用在后面的独立之处(用 - 连接),对全部任务起作用

3 n|next

可以用在任何地方,包括文件参数组
如用在参数组,仅对参数组起作用,
如用在后面的独立之处,对全部任务起作用

*********************
****************************
补充:

如果参数组中有 - + 操作符,那么
用在参数组中的以上的参数( i | ignore, q | quiet, n | next) 必须放在 - 或 + 的后面:(当然,在 匹配模式 dto/pto 中,本来就不能有- + 操作符,自然就不存在这个问题 )
1:1 to 2:3-100+200=i
1:1 to 2:3-100+200=q
1:1,2:3 to 2:3-100+200=n,3:4

另:
以上三对参数可以连用:
1:1,2:3 to 2:3-100+200=i=q=n,3:4

1:2,E: to 2:3,(BACK.TOZ=C) -ir -iw -q -n

****************************************
***************************************
为了充分与我刚确定的 程序名称 TOdisk 向一致, 现把 PTO/DTO的 P和D 移到后面,确保主干参数就是 TO

如下:
1 to 2 -d (硬盘匹配模式)
1:1 to 2:2 -p (分区匹配模式)

这样,这个TO就固定不变了..,成为名副其实的

TOdisk

Last edited by GOTOmsdos on 2006-8-31 at 16:15 ]

作者: GOTOmsdos     时间: 2006-9-1 01:31
已取消了变量的滚屏显示,不过程序开头的显示几行变量,暂时留着...
重新上传了...试试看,怎样...

作者: GOTOmsdos     时间: 2006-9-1 21:36
改善了对用户参数输入的确认和运行中的数据反映..
重新上传了...

作者: GOTOmsdos     时间: 2006-9-3 12:58
已全部实现了计划中的新增功能,重新上传了..

作者: zts59     时间: 2006-9-6 09:32
呵呵,不知道速度怎么样?

作者: johnsonlam     时间: 2006-9-6 10:21
Originally posted by GOTOmsdos at 2006-9-3 12:58 PM:
已全部实现了计划中的新增功能,重新上传了..



TOdisk 看 来 真 的 不 错 , 只 是 参 数 有 点 吓 人 , 得 要 习 惯 一 下 。

本 来 计 划 在 DOS 搅 USB 硬 盘 备 份 , 可 是 试 出 来 那 个 DI1000DD.SYS 不 接 受 FAT32 , 只 用 FAT16 就 只 有 4GB 档 案 大 小 , 加 上 压 缩 也 顶 多 5GB 罢 , 真 令 人 泄 气 !

GOTOmsdos 兄 , 请 问 我 可 否 把 你 的 TOdisk 放 在 我 网 页 吗 ?
好 东 西 应 该 要 和 别 人 分 享 。

作者: GOTOmsdos     时间: 2006-9-6 22:50
DI1000DD.SYS 对闪存盘可以,对USB接口硬盘好像不行吧
你用DUSE试试。

程序要有一些特别的功能,自然就要有参数的。不过我设计时已经把这些参数表达式精练到不能再精练了。。。

johnsonlam 兄,很欣赏你尊重著作权,不过这个程序是完全自由和免费的,是专为硬盘 fans 和系统维护者 设计的. 很高兴有更多的人使用它...

(不过,如遇到BUG,最好说出来,以便有时间时修正改善)

作者: johnsonlam     时间: 2006-9-7 12:10
Originally posted by GOTOmsdos at 2006-9-6 10:50 PM:
DI1000DD.SYS 对闪存盘可以,对USB接口硬盘好像不行吧
你用DUSE试试。

程序要有一些特别的功能,自然就要有参数的。不过我设计时已经把这些参数表� ...



DI1000DD.SYS 对 USB 接 口 硬 盘 是 可 以 的 , 使 用 USBASPI.SYS 的 话 便 可 以 ( 我 做 了 个 软 盘 镜 像 供 使 用 DOS 的 朋 友 下 载 ) 。

DUSE 只 支 援 Cypress 自 家 的 晶 片 , 而 且 程 序 很 烂 , 容 易 冲 到 其 他 程 序 , 我 也 有 测 试 过 。

最 重 要 的 是 , 今 天 试 作 了 以 GHOST 来 作 USB 外 接 硬 盘 备 份 內 存 S-ATA 硬 盘 成 功 , 待 明 天 的 工 作 完 成 后 便 会 试 用 GOTOmsdos 兄 的 TOdisk 和 Ghost 较 量 一 下 , 尤 其 是 TOdisk 是 免 费 软 体 , 如 果 能 够 战 胜 Ghost 或 平 了 记 录 , 那 是 天 大 的 喜 讯 啊 !

至 于 参 数 方 面 , 只 是 觉 得 和 大 多 数 的 DOS 程 序 有 点 不 同 , 我 并 不 是 说 不 好 , 而 是 怕 用 惯 DOS 的 用 户 觉 得 有 点 不 惯 , 例 如 :

1:2 TO (d:\image=c9=k=v1000=e?) 用 = 号 连接

传 统 上 参 数 会 以 - 或 / 作 参 数 开 始 , 和 以 空 白 隔 开 以 便 阅 读 , 如 果 写 成 TODISK.EXE 1:2 d:\image.toz -c9 -k -v1000 -e? 会 传 统 一 点 。

DOS 用 户 应 该 不 难 明 白 的 1 2 3 格 式 , 所 以 应 该 没 问 题 ... 吧 。

这 只 是 我 的 个 人 意 见 , 希 望 不 会 冒 犯 了 你 的 原 意 。

网 页 有 空 就 会 更 新 , 希 望 这 几 天 不 会 太 忙 。

作者: GOTOmsdos     时间: 2006-9-8 00:29
1
嘿嘿..
和GHOST 较量,那自然是不可能.不过只能说可以弥补它的某些缺漏吧?

2
关于参数
"写 成 TODISK.EXE 1:2 d:\image.toz -c9 -k -v1000 -e? 会 传 统 一 点 。"
但是,TOdisk 是具有多任务的 功能 的 (用 , 号分割):
1:2,3:4 TO (d:\image.toz=c6=k=v123=e)+20000000,(e:\file.toz=c9=k=v456=e?)+30000000,
如果用传统的参数的话,多任务就很难达到了。

(而且,如果是自由模式(亦即没有 -d 或 -p参数),多任务之间还有任务量前后接替更改的功能:
比如
假设:
硬盘1 总扇区 1000
文件E:\FILE.TOZ及其分卷含有的总扇区是 2500,用户要求处理的扇区是2000
硬盘3 总扇区 1500
硬盘4 总扇区 3000

1,(E:\FILE.TOZ=V)+2000 TO 3,4
在自由模式 中,过程如下:

1
硬盘1 传递给 硬盘3 1000个扇区,退出 (硬盘1 完成任务)
2
文件E:\FILE.TOZ及其分卷传递给 硬盘3 500个扇区,硬盘3 退出(硬盘3 完成任务)
3
文件E:\FILE.TOZ及其分卷传递给 硬盘4 1500 个扇区 , 硬盘2 退出(硬盘2 完成任务)
3
程序便退出(因为 源和目标已经有一方完成了)

如果是匹配模式(有-d 或 -p参数)
1,(E:\FILE.TOZ=V) TO 3,4 -p
过程等同于如下两次执行:(两次任务之间没有联系)
a
1 TO 3 -p
b
(E:\FILE.TOZ=V) TO 4 -p

。。。)

综上所述:
自由模式的多任务之间允许有联系(考虑到特殊需要和灵活性)
匹配模式的多任务之间不允许有联系

还有,
程序 源 目标 参数
(Program source destination parameter)
多数人习惯,
但有些程序习惯于
程序 目标 源 参数
(Program destination source parameter)

所以 加 上 TO 我觉得是 必要的,而且可读性很强,几乎不会造成误解

Last edited by GOTOmsdos on 2006-9-8 at 03:24 ]

作者: johnsonlam     时间: 2006-9-8 22:59

Ghost 的 开 始 也 许 还 没 你 的 好 , 不 要 紧 , 时 间 多 的 是 。

你 的 多 用 途 真 的 不 错 , 但 要 看 你 的 范 例 才 懂 :)

不 过 多 任 务 的 就 较 难 理 解 , 我 想 不 少 用 户 也 会 迷 惑 , 我 自 己 会 比 较 倾 向 简 单 的 单 任 务 模 式 。

还 有 以 扇 区 的 复 制 , 暂 时 未 想 到 用 途 , 因 为 档 案 位 置 变 动 频 繁 , 复 制 Partition 比 较 实 用 。

作者: GOTOmsdos     时间: 2006-9-9 00:58
多谢 johnsonlam 兄 鼓励!
其实多任务(一般是指自由模式的多任务)也不复杂的,仔细看说明中写到的过程举例,就会明白的。。。
如果觉得复杂,就别去管它就是了。等到你需要这种功能的时候,再去用它。。
(如果你既要操作TOdisk,但同时又要做其他事情甚至出门,多任务就显示出方便了。。)
(指定要操作的开始扇区和扇区数,即 - + 操作符主要用于专业性的硬盘遭遇灾难等等因素的人工恢复。。。比如,有时由于病毒或不当的写硬盘数据时,需要对硬盘扇区的挪移和拼接等等,这样才能恢复被病毒破坏的硬盘结构(比如,有些硬盘病毒喜欢乱移动硬盘扇区: 比如,清零了MBR,并把从MBR开始的1xxxxxxx个扇区搬移到位于第Xxxxxxx扇区处等等很多地方(如果是有一定的规律),,这时可以用TOdisk的-+,配合多任务,方便的解决。。。使硬盘恢复如初)

Last edited by GOTOmsdos on 2006-9-9 at 01:01 ]

作者: johnsonlam     时间: 2006-9-9 05:09
Originally posted by GOTOmsdos at 2006-9-9 12:58 AM:

如果觉得复杂,就别去管它就是了。等到你需要这种功能的时候,再去用它。。
(如果你既要操作TOdisk,但同时又要做其他事情甚至出门,多任务就显示出方便了。。)



說 的 也 是 !

GOTOmsdos 兄 :

网 页 做 好 了 一 部 份 , 简 繁 体 版 本 稍 后 补 上 , 作 了 小 许 修 改 , 请 多 多 见 谅 :

1) 将 RAR 转 了 ZIP , 在 DOS 的 RAR 普 及 度 不 及 ZIP , 有 些 朋 友 没 有 RAR
2) 英 文 版 的 文 字 的 一 些 润 饰
3) 在 ZIP 压 缩 档 内 增 加 了 繁 体 文 件

http://johnson.tmfc.net/dos/todisk.html

作者: GOTOmsdos     时间: 2006-9-9 08:32
Wow!
johnsonlam 兄,欣赏了你的网页,感觉布局,色彩,等都有品位,还有点立体感。尤其是色彩,给人感觉淡薄而有内涵,很和谐。。
也看到我小程序的下载页面,也做的很好,对布局也做了精心调整,对程序的说明也做了润饰,可见用了一翻心思。。挺好看的。。
真是很感谢对我的陋作的介绍!我倒是感觉我的小程序不配你的网页呢,见我的陋作居然和那些知名的大牌软件放在一起,真有受宠若惊的感觉!

(另,发现你网页上的我的小程序的版本不是最新版本,由于那个版本有重要的不足:比如,没有加入n开关,当硬盘出现较少坏道时会终止整个程序,有了n开关,就可避免这个不足了。。。最新版本与以往版本相比,加了一些开关,作了不少的改善,首帖的文件就是最新版本。)

(我倒是也有个小站的,以前童心泛滥,学做FLASH时作的,就是放上一些FLASH练习品,欢迎有空去坐坐:
http://mykool.go2.icpcn.com
)

Last edited by GOTOmsdos on 2006-9-9 at 11:33 ]

作者: johnsonlam     时间: 2006-9-9 13:23
Originally posted by GOTOmsdos at 2006-9-9 08:32 AM:
Wow!
johnsonlam 兄,欣赏了你的网页,感觉布局,色彩,等都有品位,还有点立体感。尤其是色彩,给人感觉淡薄而有内涵,很和谐。。
也看到我小程 ...



多 谢 夸 奖 , 我 只 是 喜 欢 简 洁 的 , 所 以 尽 量 清 楚 为 主 。

之 前 的 那 个 压 缩 档 没 有 版 本 , 挺 容 易 混 淆 的 , 看 见 你 的 新 档 也 加 了 版 本 号 , 清 晰 多 了 !


(我倒是也有个小站的,以前童心泛滥,学做FLASH时作的,就是放上一些FLASH练习品,欢迎有空去坐坐:
http://mykool.go2.icpcn.com
)


渔 舟 唱 晚 配 月 亮 不 错 啊 !
写 了 不 少 Flash 啊 ! 可 惜 Flash 不 但 要 钱 , 还 个 个 版 本 都 不 完 全 兼 容 ...

我 这 年 龄 学 甚 么 都 很 慢 , 得 靠 你 这 些 年 轻 人 了

网 页 有 空 会 更 新 版 本 和 繁 简 体 , 最 近 公 司 有 点 忙 , 真 想 放 假 休 息 呢

作者: johnsonlam     时间: 2006-9-9 14:02    标题: 問 題

gotoMSDOS 兄 :

请 问 ...

1) TOdisk 会 不 会 用 XMS ? 或 需 要 多 少 传 统 记 忆 体 ?

2) TOdisk 除 了 Interrupt 13 外 有 用 其 他 方 法 操 控 硬 盘 吗 ?

3) 有 没 有 在 S-ATA 硬 盘 测 试 过 ?

4) 请 问 有 问 题 的 是 那 个 UDMA 版 本 ?

作者: GOTOmsdos     时间: 2006-9-10 03:06
1) TOdisk没有特别使用XMS,所需要的内存主要是: 如不压缩大约为64k左右(主要是读或写缓冲区),如压缩大约为64x2左右(多一个64k压缩或解压缓冲区)
2)主要是扩展13和基本13
3)没有试过SATA
4) UDMA2.SYS

作者: fastslz     时间: 2006-9-11 03:11
GOTOmsdos兄现在你的TOdisk有johnsonlam兄的网站推广是个很好的机会,再接再厉开发出更强大更稳定更快速的TOdisk。同时也希望有更多的人加入测试,原创作品需要大家的支持!

作者: GOTOmsdos     时间: 2006-9-11 09:25
多谢 fastslz 兄 鼓励,你可是我的这个小程序的第一支持者呢!
写这个小程序,主要是兴趣使然,如有人能试用试用,关注一下,我就感觉挺满足了,嘿嘿。。

作者: johnsonlam     时间: 2006-9-14 02:14    标题: 关 于 说 明 文 件
请 GOTOmsdos 兄 看 看 网 页 , 在 做 中 英 的 对 照 时 发 生 了 点 问 题 , 可 以 指 点 一 下 吗 ?

作者: GOTOmsdos     时间: 2006-9-14 06:31
看了简体中文的页面,挺好啊,没发现什么问题啊,
网页方面,我懂得不多。。

另,不过,英文和中文的帮助里,好象都是用的原始版的(主要是仍用dto/pto的参数等。。新版中已没有了。。)

作者: GOTOmsdos     时间: 2006-9-14 06:33
刚发布了更新版: TOdisk-1.1 alpha

更新内容如下:
1
去除了支持基本13中断的部分(因为未在程序中使用)。这将大大减小了程序字节。
2
取消了在设备到设备(没有文件参数)的读写中原先函数中采用的对读和写的次序的调整功能,因为采用TO参数后,这一功能已成多余。
3
n开关中,在遇错继续下一任务时由不更新任务量更改为更新任务量。这更具合理性,更符合用户的需要。
4
增加了运行过程中的显示信息。
5
更正了已发现的一个bug:
当用多任务操作硬盘时(采用硬盘参数),如果操作的硬盘的开始扇区为0,完成时,这项参数不会更新。
6
精简了一些不必要的代码,合理调整了一些代码的次序。

补充:
在更新过程中,遇到一个奇怪问题:
在1.0 alpha中,没有释放(free)已不用的用malloc函数分配的几个结构体内存(但运行却相当稳定)。在本版本中原先释放不用的内存,
但是编译后,却有时运行反常,并导致死机。
不知什么原因,至今不明。后来迫不得已取消了释放。

Last edited by GOTOmsdos on 2006-9-15 at 02:44 ]

作者: GOTOmsdos     时间: 2006-9-15 11:50
刚发了TOdisk-1.2a 版

本版本的更新如下:
1
除了解压分卷镜象到硬盘/分区又未指定操作扇区数,其他都在运行中显示任务中的MB量
2
即使没有n参数,如遇到读或写盘错误,都给出询问是否忽略的提示,这样避免了用户未给n参数时也能给用户忽略微小的读或写盘错误的机会
3
更正了上版中的一个小BUG:
如果目标位置的文件参数没带扇区操作数后面又跟有参数组,即使是匹配模式(有-d或-p参数)也给出非法警告
4
具体实现了有n参数时,如是自由模式而遇到退出错误时,在继续下一任务时更新已完成的任务量。
5
在显示分区总表中,把GB/MB一同更改为MB,这样避免了1.9G只显示1G的缺陷(由于考虑到程序的体积,未使用浮点)

作者: johnsonlam     时间: 2006-9-16 05:26
Originally posted by GOTOmsdos at 2006-9-15 11:50 AM:
刚发了TOdisk-1.2a 版


请 GOTOmsdos 兄 有 空 写 个 简 介 , 现 在 那 个 是 用 法 , 有 些 人 也 许 不 认 识 TOdisk 有 甚 么 功 能 , 可 以 做 甚 么 .... 但 看 说 明 又 太 详 尽 。

小 弟 觉 得 说 明 文 件 可 以 再 好 些 , 毕 竟 还 是 个 开 始 。

作者: johnsonlam     时间: 2006-9-16 05:30
Originally posted by GOTOmsdos at 2006-9-14 06:31 AM:
看了简体中文的页面,挺好啊,没发现什么问题啊,
网页方面,我懂得不多。。

另,不过,英文和中文的帮助里,好象都是用的原始版的(主要� ...



这 个 夏 季 不 知 干 甚 么 , 公 司 忙 得 要 死 , 所 以 忽 略 了 。
会 尽 快 更 新 !

作者: xypcmac     时间: 2006-9-16 08:45
继续关注..........

作者: 80286     时间: 2006-9-16 21:42

作者: johnsonlam     时间: 2006-9-19 13:04
Originally posted by GOTOmsdos at 2006-9-15 11:50 AM:
刚发了TOdisk-1.2a 版



更 新 了 , 没 时 间 做 好 一 点 , 请 见 谅 。
感 觉 好 些 , 但 有 没 有 办 法 再 简 化 多 一 些 呢 ?

作者: profree     时间: 2006-9-21 04:33
用这个可以备份和恢复整个分区吗?

作者: gmy     时间: 2006-9-21 05:45
顶一下,支持你.
以前我记得有一个开源程序,叫 DDCOPY 1.65 版,与楼主的类似,搜索一下,可以借鉴他的编程思想!

作者: GOTOmsdos     时间: 2006-9-22 11:33
Originally posted by profree at 2006-9-21 04:33 AM:
用这个可以备份和恢复整个分区吗?


当然可以

作者: GOTOmsdos     时间: 2006-9-22 11:49
Originally posted by gmy at 2006-9-21 05:45 AM:
顶一下,支持你.
以前我记得有一个开源程序,叫 DDCOPY 1.65 版,与楼主的类似,搜索一下,可以借鉴他的编程思想!


1
DDCOPY有的功能本程序全有

2
本程序有的功能DDCOPY没有,他们主要是:
a
支持扩展分区的逻辑起动器
b
支持多个源
c
高压缩比

此外,本程序比DDCOPY的压缩速度快

Last edited by GOTOmsdos on 2006-9-24 at 22:55 ]

作者: GOTOmsdos     时间: 2006-9-22 23:35
澄清一下:

GHOST 的 -IA 也可以以扇区方式处理单个分区。。。

不过,本程序的
1
连续任务(尤其是任务之间有更新关系的连续任务)
2
处理任意指定扇区

这是GHOST没有的

作者: profree     时间: 2006-9-22 23:56
To GOTOmsdos:
参数太多,太复杂了吧?
能提供源代码吗?
我想做个类似于一键恢复的软件,用你的这个做备份和恢复,希望能在我的软件界面上显示操作过程,可以吗?

作者: GOTOmsdos     时间: 2006-9-23 00:54
感谢关注
Originally posted by profree at 2006-9-22 11:56 PM:
To GOTOmsdos:
参数太多,太复杂了吧?
能提供源代码吗?
我想做个类似于一键恢复的软件,用你的这个做备份和恢复,希望能在我的软件界面上显示操䠮..


1
功能多,自然参数多。不过,如果你不要这些功能,你就不要输入这些参数就是了,那样,参数就比GHOST要少得多!

2
源码目前暂不提供,见谅。。

3
说明中说了,是DOS命令行程序,是在80x25的字符模式中显示运行过程。
没有办法在别的程序的控制下中显示运行过程(尤其是图形程序中)。。

作者: GOTOmsdos     时间: 2006-10-15 23:12
之所以没有GHOST速度快的原因可能是GHOST用了超大缓冲
可能是 farmalloc()配合一种能超越64kb的一次文件读写
不知道具体是怎么实现的。。。

作者: johnsonlam     时间: 2006-10-21 03:42

有 没 有 考 虑 做 一 个 Front-End , 让 一 些 不 大 懂 输 入 命 令 的 网 友 使 用 ?

作者: GOTOmsdos     时间: 2006-10-21 07:54
Front-End ?
是不是一种窗口?

不过,现在没有时间了

作者: taojiang     时间: 2006-10-24 01:44
做一个简单的窗口界面吧,TODISK的参数太多了根本记不住,再说了磁盘备份又不是经常会用到,记这么多参数也没太大必要。
窗口界面中应包括应备份源盘(分区)及存储目标盘(分区)的选择,压缩率选择,存储文件名选择,源盘及目标盘大小(或剩余空间)显示,备份进度显示(图示或百分比均可)等等。另外参数分的太细似没太大必要:如压缩率分9档的问题,不会有人用那么细,有个三档就可以了,如不压缩、正常压缩、最大化压缩。

Last edited by taojiang on 2006-10-25 at 12:52 AM ]

作者: johnsonlam     时间: 2006-10-24 23:53
Originally posted by GOTOmsdos at 2006-10-21 07:54 AM:
Front-End ?
是不是一种窗口?
不过,现在没有时间了


是 简 化 了 的 使 用 介 面 , 等 你 有 空 时 再 考 虑 吧 。

作者: GOTOmsdos     时间: 2006-10-27 10:18
TO taojiang:

1
如果你觉得参数多,现在可以不管它。(等到以后,如果觉得有用的话,再来查看一下说明文档后再用。。。)

2
关于做GUI,现在确实没有时间了(这个程序就化了我3个月!,每天10个小时!现在想来真是疯狂!)

Last edited by GOTOmsdos on 2006-10-27 at 10:20 AM ]

作者: GOTOmsdos     时间: 2006-12-29 23:05
好长时间没来看这个帖了,过来看一下。刚才我的一个小XP中了病毒了,用XP的系统还原后,仍然一样。便用这个程序把先前的备份还原了,再启动,一切正常了。由于这个小XP叫小,只有2G,恢复的很快,大概15分钟( CPU 733)。。。
感觉很爽。

作者: johnsonlam     时间: 2006-12-30 03:48
Originally posted by GOTOmsdos at 2006-12-29 11:05 PM:
好长时间没来看这个帖了,过来看一下。刚才我的一个小XP中了病毒了,用XP的系统还原后,仍然一样。便用这个程序把先前的备份还原了,再启动,� ...



我 个 人 觉 得 你 的 显 示 介 面 超 有 品 味 的 ...
老 是 想 : 如 果 有 类 似 TurboVision 操 作 就 更 完 美 了 !

作者: GOTOmsdos     时间: 2006-12-30 04:20
"显 示 介 面 超 有 品 味" ?
哈哈,多谢鼓励拉!(不过,倒确实是费了不少脑筋的。。我这个人做事就是会尽可能得追求完美,不过,代价也非常大,费了不少时间。。


TurboVision ?又是什么玩意儿?
发现您老兄懂得还真多呢!

作者: johnsonlam     时间: 2006-12-31 15:28
Originally posted by GOTOmsdos at 2006-12-30 04:20 AM:
"显 示 介 面 超 有 品 味" ?
哈哈,多谢鼓励拉!(不过,倒确实是费了不少脑筋的。。我这个人做事就是会尽可能得追求完美,不过,代价也 ...



老 实 说 , 自 从 Windows 后 我 也 不 抱 期 待 了 , 因 为 Unix 式 的 单 调 执 行 因 Linux 再 次 大 行 其 道 , 许 多DOS 小 程 序 的 生 动 文 字 显 示 再 被 忽 略 , 要 不 然 又 是 Windows 视 窗 , 多 闷 啊 !

忽 然 看 见 toDISK 的 显 示 , 真 令 我 怀 念 那 些 美 好 的 日 子 呢 , 我 也 知 道 制 作 不 容 易 , 佩 服 你 付 出 的 心 力 。

我 是 从 学 习 苹 果 电 脑 Apple ]





http://garbo.uwasa.fi/pc/turbovis.html

TurboVision 的 官 方 网 页 :

http://tvision.sourceforge.net

作者: GOTOmsdos     时间: 2007-1-1 11:32
johnsonlam 兄 跟我学到什么东西,我可不感当啊!
说实在的,我是从三年前才开始学电脑(三年前我是DOS之家和这里的骨灰级菜鸟),从两年前才开始学C(基本上总共学C的时间才一年左右),应该是新手才对。。C只是学了个皮毛而已。。。

Last edited by GOTOmsdos on 2007-1-1 at 10:56 PM ]

作者: johnsonlam     时间: 2007-1-6 12:51
Originally posted by GOTOmsdos at 2007-1-1 11:32 AM:
johnsonlam 兄 跟我学到什么东西,我可不感当啊!
说实在的,我是从三年前才开始学电脑(三年前我是DOS之家和这里的骨灰级菜鸟),从两年前才开始学C(基本上总共学C的时间才一年左右),应该是新手才对。。C只是学了个皮毛而已。。。



我 玩 DOS 的 时 候 还 是 PC-DOS 3.2 呢 , 你 只 花 了 三 年 已 经 学 会 编 写 C 的 硬 盘 备 份 , 已 是 从 幼 儿 园 跳 升 到 大 学 了 !!

许 多 人 ( 包 括 口 才 甚 佳 , 人 格 差 劲 的 德 国 人 Eric Auer 先 生 也 未 能 够 写 出 这 类 程 式 ) , 而 且 保 加 利 亚 的 Lucho 副 博 士 也 将 你 的 toDISK 收 入 他 的 宝 贝 软 盘 镜 象 , 证 明 了 他 也 很 欣 赏 toDISK ... 他 是 其 中 一 位 FreeDOS 的 核 心 开 发 人 员 啊 ( 现 在 已 转 过 去 协 助 Enhanced DR-DOS 了 )

还 有 我 最 觉 得 Cool 的 显 示 ! 太 正 了 , 可 惜 你 事 忙 未 能 再 改 进 , 我 会 耐 心 地 等 的 ;)

作者: GOTOmsdos     时间: 2007-1-7 00:53
是吗?!
那太荣幸了!
PC-DOS 3.2 我没见过什么样子,可见你真是骨灰级DOS老鸟了! 我最先接触电脑时已经是WIN98了.

我哪敢和这些人相提并论! 能被Lucho 收 入 他 的 软 盘 镜 象 ,真是太意外了! 不敢当啊!
无意中也发现有个英文网站也把TOdisk列入到他们的DOS软件下载中了(这个网站也是从你的网站得知TOdisk的...),真是感觉很荣幸...

作者: GOTOmsdos     时间: 2007-1-7 01:21
另外,我的软驱刚坏了, 有没有Lucho's bootdisk 的镜像,ZIP 或 RAR ?

Last edited by GOTOmsdos on 2007-1-7 at 03:21 AM ]

作者: GOTOmsdos     时间: 2007-1-7 03:09
TO johnsonlam:
你网站中contributors中的Bart Oldeman 是不是 WinPE 作者 Bart?

作者: xxxxzzzz     时间: 2007-1-7 03:30    标题: hao

作者: xxxxzzzz     时间: 2007-1-7 03:31    标题: 好东西

作者: johnsonlam     时间: 2007-1-7 12:49
Originally posted by GOTOmsdos at 2007-1-7 01:21 AM:
另外,我的软驱刚坏了, 有没有Lucho's bootdisk 的镜像,ZIP 或 RAR ?
Last edited by GOTOmsdos on 2007-1-7 at 03:21 AM ]

那 軟 片 有 兩 個 DOS (LZ-DOS + E.DR-DOS) 在 裡 面 , 要 是 ZIP 就 只 剩 下 檔 案 了 。
還 是 向 朋 友 借 個 軟 驅 吧 !

作者: GOTOmsdos     时间: 2007-1-7 12:59
TO johnsonlam:

软盘坏了就让他坏吧,反正现在基本不用,想玩一般用GRUB载入软盘景象。
有时间的话,传个镜像,ZIP 或 RAR吧,想试试里面的文件。

作者: johnsonlam     时间: 2007-1-7 13:03
Originally posted by GOTOmsdos at 2007-1-7 03:09 AM:
TO johnsonlam:
你网站中contributors中的Bart Oldeman 是不是 WinPE 作者 Bart?


不 是 , WinPE/BootPE 是 Bart Lagerweij

作者: johnsonlam     时间: 2007-1-7 13:39
Originally posted by GOTOmsdos at 2007-1-7 12:59 PM:
TO johnsonlam:

软盘坏了就让他坏吧,反正现在基本不用,想玩一般用GRUB载入软盘景象。
有时间的话,传个镜像,ZIP 或 RAR吧,想试试里面的文件。



http://zhenlove.com.cn/cndos/fileup/files/lucho.zip (需 改 回 7z , 是 7-Zip 壓 縮 檔 )

相 信 轉 GRUB 會 大 很 多 , 現 在 的 boot loader 使 用 Dosius 兄 的 sfx , 只 有 幾 K 而 已 。

作者: johnsonlam     时间: 2007-1-7 13:45
Originally posted by GOTOmsdos at 2007-1-7 12:53 AM:
是吗?!
那太荣幸了!
PC-DOS 3.2 我没见过什么样子,可见你真是骨灰级DOS老鸟了! 我最先接触电脑时已经是WIN98了.


年 輕 真 好 ...


我哪敢和这些人相提并论! 能被Lucho 收 入 他 的 软 盘 镜 象 ,真是太意外了! 不敢当啊!
无意中也发现有个英文网站也把TOdisk列入到他们的DOS软件下载中了(这个网站也是从你的网站得知TOdisk的...),真是感觉很荣幸...


這 種 才 是 成 就 , 流 芳 百 世 的 、 全 世 界 都 會 感 謝 你 的 , 這 就 是 分 享 的 滿 足 !

作者: GOTOmsdos     时间: 2007-1-8 01:04
那可不敢当!只不过写了个小工具。

已从上面的地址下到,并用7zip解压出来了,感谢了。
不过里面没有TOdisk,不知道是不是版本较旧?

发现有个俄语网站的DOS软件列表中也有TOdisk,不过,在相应的作者栏中(俄语“Автор”,不知道是不是作者的意思)写的不是GOTOmsdos,而是Kirill Joss。说明文档中的中文被改成了俄语,而且,下载前需要注册。
挺有意思。

Last edited by GOTOmsdos on 2007-1-8 at 02:11 AM ]

作者: johnsonlam     时间: 2007-1-8 11:40
Originally posted by GOTOmsdos at 2007-1-8 01:04 AM:
那可不敢当!只不过写了个小工具。

已从上面的地址下到,并用7zip解压出来了,感谢了。
不过里面没有TOdisk,不知道是不是版本较旧?

发现有个 ...



你 謙 虛 了 啦 !
你 的 小 工 具 許 多 人 不 用 口 寫 不 出 來 呢 !

TOdisk 是 在 VDISK.UHA 內 , 壓 縮 了 方 便 儲 存 , 要 用 UHARC 解 壓 。

俄 國 那 個 或 許 是 誤 會 , 因 為 可 能 是 suspend todisk 的 , 也 因 為 todisk 不 是 特 別 詞 語 。

作者: GOTOmsdos     时间: 2007-1-8 12:28
那个俄语网站确实是收了我的TOdisk, 有如下标题:
"TOdisk 1.2 alpha Copyright(c) by GOTOmsdos"
URL:
http://talk.mail.ru/forum/fido7.ru.dos?page=7

不过,有很多软件都标为 Kirill Joss,是不是提供者的意思?

作者: GOTOmsdos     时间: 2007-1-8 12:51
刚才从VDISK.UHA中解出了TOdisk,但是却只有47KB! 而我的TOdisk原有106KB!
(在纯DOS下,运行这个47KB的TOdisk,正常!)
他没有源码是怎么缩小的呢?难道是用什么反汇编工具缩小的? 但是居然能缩小超过一半?! 有点难以相信....

Last edited by GOTOmsdos on 2007-1-8 at 02:06 PM ]

作者: GOTOmsdos     时间: 2007-1-9 03:07
应网友要求,现已整理出中文帮助,这样国人用起来就顺畅了,已更新首帖,请参看

Last edited by GOTOmsdos on 2007-1-9 at 03:29 AM ]

作者: johnsonlam     时间: 2007-1-9 06:10
Originally posted by GOTOmsdos at 2007-1-8 12:28 PM:
那个俄语网站确实是收了我的TOdisk, 有如下标题:
"TOdisk 1.2 alpha Copyright(c) by GOTOmsdos"
URL:
http://talk.mail.ru/forum/fido7.ru.dos?page=7

不过,有 ...



Jill Kross 是 文 章 作 者 , 他 是 专 向 别 的 俄 国 人 介 绍 DOS 软 体 的 ( 就 像 我 在 这 里 介 绍 Jack Ellis 的 驱 动 ), 因 为 不 是 每 个 俄 国 人 都 会 英 语 啊 !

作者: GOTOmsdos     时间: 2007-1-11 02:04
带着极大的好奇,测试了经Lucho大大缩减了的TOdisk(从原来的106KB缩减到47KB)
发现,有时运行正确,而有时却使电脑重启了!不知道就是缩减的原因还是我电脑的原因?
不解中。。。

作者: cchessbd     时间: 2007-1-11 07:56
Originally posted by GOTOmsdos at 2007-1-11 02:04:
带着极大的好奇,测试了经Lucho大大缩减了的TOdisk(从原来的106KB缩减到47KB)
发现,有时运行正确,而有时却使电脑重启了!不知道就是缩减的原因还是 ...


貌似upx压缩后就是这个大小吧?
难道有什么问题?

作者: cchessbd     时间: 2007-1-11 08:01
Originally posted by GOTOmsdos at 2006-10-15 23:12:
之所以没有GHOST速度快的原因可能是GHOST用了超大缓冲
可能是 farmalloc()配合一种能超越64kb的一次文件读写
不知道具体是怎么实现的。。。


把这个功能实现了,然后像GHOST一样,支持NTFS,再实现类似1:2\path\name 的访问。不就可以替代GHOST了?
哇哈哈……

作者: 本是     时间: 2007-1-11 09:37
Originally posted by cchessbd at 2007-1-11 08:01:
一种能超越64kb的一次文件读写……


用UNREAL模式+XMS调用(请参考REALMEM.ZIPhttp://ftp.lanet.lv/ftp/mirror/x2ftp/msdos/programming/memory/realmem.zip])

作者: GOTOmsdos     时间: 2007-1-11 10:14
恩,要用XMS才能实现和GHOST一样快,这个费一些时间是可能实现的
要程序本身支持镜象文件为NTFS就不太可能实现了,不过,如果有现成的NTFS类也行的。。

Last edited by GOTOmsdos on 2007-1-11 at 11:23 AM ]

作者: johnsonlam     时间: 2007-1-11 23:01
Originally posted by GOTOmsdos at 2007-1-11 10:14 AM:
恩,要用XMS才能实现和GHOST一样快,这个费一些时间是可能实现的
要程序本身支持镜象文件为NTFS就不太可能实现了,不过,如果有现成的NTFS类也行的 ...


关 于 XMS 有 一 点 可 告 诉 大 家 , QHIMEM 经 过 Jack 兄 苦 心 经 营 , 速 度 很 高 也 没 有 别 个 "XMS Manager" 硬 体 兼 容 问 题 , 还 是 完 整 XMS 3.0 呢 ( 原 来 Microsoft EMM386 只 有 XMS 2.0 ! )

对 于 今 时 今 日 的 电 脑 来 说 , 那 几 百 MB 的 记 忆 体 花 钱 买 了 却 不 能 在 DOS 下 好 好 利 用 , 真 有 点 冤 枉 !

NTFS 能 否 用 扇 区 "盲 读" 方 式 强 行 複 制 呢 ?

作者: johnsonlam     时间: 2007-1-11 23:04
Originally posted by cchessbd at 2007-1-11 07:56 AM:
貌似upx压缩后就是这个大小吧?
难道有什么问题?



正 是 UPX !
近 来 没 空 再 试 ... 但 应 该 没 问 题 吧 。
我 有 很 多 UPX 压 缩 过 的 DOS/WIN32 程 序 都 执 行 良 好 。

作者: johnsonlam     时间: 2007-1-11 23:10
Originally posted by GOTOmsdos at 2007-1-11 02:04 AM:
带着极大的好奇,测试了经Lucho大大缩减了的TOdisk(从原来的106KB缩减到47KB)
发现,有时运行正确,而有时却使电脑重启了!不知道就是缩减的原因还是 ...



把 其 它 不 重 要 的 驱 动 先 卸 下 , 然 后 再 试 试 吧 。

还 要 测 试 的 就 是 QCACHE (QDMA 已 在 内) , 两 者 同 时 运 行 不 应 该 有 问 题 的 !


Last edited by johnsonlam on 2007-1-11 at 11:12 PM ]

作者: GOTOmsdos     时间: 2007-1-12 02:26
Originally posted by cchessbd at 2007-1-11 07:56 AM:


貌似upx压缩后就是这个大小吧?
难道有什么问题?


我说的是解压后是47KB(原程序是106KB)
所以我奇怪。

作者: GOTOmsdos     时间: 2007-1-12 02:32
NTFS 能 否 用 扇 区 "盲 读" 方 式 强 行 複 制 呢 ?

TOdisk 由于是扇区方式,所以对于处理硬盘,分区,扇区的数据是不管文件系统的(就是说,不管是FAT,NTFS,LINUX等等)
只是如果要处理镜象文件时,镜象文件所在的分区必须是FAT(正如GHOST的以前版本那样)

作者: GOTOmsdos     时间: 2007-1-12 05:48
感觉英文文档有些很重要的使用说明没有写上去,现补充一些,等一下再写完它

HardDisk/Partition/Sector Backup/Restorer <by SECTOR CLONE>
TOdisk version 1.3 Alpha Copyright (C) 2006-2007 by GOTOmsdos, Jan 13 2007
Email : tdaim@sina.com
Homepage : http://mykool.go2.icpcn.com/

Many THANKS to :
johnsonlam(HONGKONG), fastslz from China DOS Union
Lizhi(author of DDCOPY)
Lucho(one of key developers of FreeDOS)
other enthusiasts

Welcome to visit(for DOS intercourse):
http://www.cn-dos.net/ <China DOS Union>
http://johnson.tmfc.net/dos/ <johnsonlam>

Environment for execution : MS-DOS / Win9x_MS-DOS_BOX

Syntax:
<DO mode>
TOdisk SRC1 TO DST1 ]]]]
<LOOK mode>
TOdisk |-P|]]

<DO mode>

SRC/DST set: (DISK set, PARTITION set, DOSLETTER set, IMAGEFILE set)
1, DISK set >> 1 or 2...n
2, PARTITION set >> 1:2 or 2:3...n:n
3, DOSLETTER set >> C: or D:...Z:
4, IMAGEFILE set >>
Parameters for IMAGEFILE set:
=Cn - C : COMPRESS
n : compress level(1-9). Default 6 would be the optimum of
intensity and speed. Default is taken if no "n" is specified
=K - K : require KEY for compress
=Vn - V : multiVOLUME
n : every volume MBs(ranging from 1 to 2047<FAT16>,4095<FAT32>)
Default is 2047, if no "n" is specified. Needless if it's in SRC
=E? - E : put the compress key of first volume into EVERY following volume
? : PROMPT for compress key to every following volume
--A
as DST set:
(c:\image.to)
...
...
...
(c:\image.toz=Cn=K=Vn=E?)
Eaxmple:
(g:\image.toz=c7=k=v1000=e?)

(NOTICE:
In multi-task with FREE mode, if any IMAGEFILE set(s) as DST set are used,
they must be the LAST and the ONLY ONE IMAGEFILE set in all DST set(s) !
Examples:
Legal:
1:1 TO 2:3,3:4,(g:\image.toz=c=v)
1:1,2:2,3:3 TO 2:3,3:4,(g:\image.toz=c=v)
1:1,2:2,3:3 TO 2:3,(g:\image.toz=c=v),3:4 -p
1:1,3:4,4:4 TO 2:3,(f:\image1.toz=c=v),(g:\image2.toz=c=v) -p
Illegal 1:
1:1 TO 2:3,(g:\image.toz=c=v),3:4
1:1,2:2,3:3 TO 2:3,(g:\image.toz=c=v),3:4
(FREE mode, and not in the last)
Illegal 2:
1:1,3:4,4:4 TO 2:3,(f:\image1.toz=c=v),(g:\image2.toz=c=v)
(FREE mode, but more than one IMAGEFILE set)
)

--B
as SRC set: (Program automatically checks if it is compressed,
whether or not its extension is "toz". NO "=C" is needed)
(c:\image.toz) (not automatically search for SEPARATE VOLUMEs)
(c:\image.toz=v) (automatically search for SEPARATE VOLUMEs)

(As to IMAGEFILE name, to avoid confusion,
SUGGEST that extension be "to" for those without compression, "toz" for
those with compression, though the program doesn't force extension check
)

in SRC/DST set
- : specify start sector
+ : specify sectors to do
But neither of them are allowed in MATCHED mode, and no '-' is allowed in
IMAGEfile set
Examples:
1-5000
1:2+5000
D:-5000+10000
(g:\image.toz)+3000

SRC/DST set switches:
=q : quiet (no question to you)
=m : mute (no information words)
=i : ignore (ignore read(if it's in SRC) or write(if it's in DST) error,
not allowed in IMAGEFILE set)
=n : next (go to next task if any fatal error is encountered)
Example:
1:2=q=m,3:4 TO 4:1=i=n,(file=c)=q=m

Must be used after '-' and '+' if any, and only valid to this task with it
Example:
1:2-300+400=q=m,3:4 TO 4:1=i=n,(file=c)+500=q=m

Global Switch 1 (mode switch):

--A
(MATCHED mode)
-d|p: disk|partition subMode
In MATCHED mode, the number of SRC sets must EQUAL that of DST sets !
And in partition subMode, if a DST set is partition set, its partition ID
will be refreshed

Example for -d:
1,2 TO 3,4 -d
is equivalent to two separate operations:
1 TO 3
2 TO 4
is not equivalent to 1,2 TO 3,4
unless that 1, 2 have the same capacity as 3, 4 respectively

Example for -p:
1:2,4:3,2:2 TO 2:3,(d:\back.toz=c),4:5 -p
is equivalent to three separate operations:
1:2 TO 2:3 -p
4:3 TO (d:\back.toz=c)
2:2 TO 4:5 -p
Among them, because the first and the third task are both with one of MATCHED
modes <-p is one of it> and in partition writing operation<DST is partition
not IMAGEFILE>, -p is required for partitionID refreshing, even though it's
a separate operation

--B
(FREE mode)
NO -d|p switch
In FREE(UNmatched) mode, the number of SRC sets needn't equal that of DST
sets for there is a relation of succession between one task and its next
one in the course of data conveying

Example with equal number of SRC sets and DST sets:
given HardDisk 1 (all sectors is 1000)
HardDisk 2 (all sectors is 2000)
HardDisk 3 (all sectors is 1500)
HardDisk 4 (all sectors is 3000)
1,2 TO 3,4
This is FREE mode, the course is as follows:
Task 1:
1000 sectors of HardDisk 1 is copied to HardDisk 3
(The task of HardDisk 1 is completed, exit)
Task 2:
1500-1000=500 sectors of HardDisk 2 is copied to HardDisk 3
(The task of HardDisk 3 is completed, exit)
Task 3:
2000-500=1500 sectors of HardDisk 2 is copied to HardDisk 4
(The task of HardDisk 2 is completed, exit)
Either of SRC and DST has been completed, program exits

Example with unequal number of SRC sets and DST sets:
1 TO 2:3,3:4,4:5,(g:\file.to)

Global switch 2:

-q|quiet : no question to you
-m|mute : no information words
-i|ignore : ignore both read and write error
-ir|ignorereaderror : ignore read error
-iw|ignorewriteerror : ignore write error
-n|next : go to next task if fatal error is encountered

Example:
1:2,E: TO 2:3,(back.toz=c) -q -m -n -i

More examples:

Single-task:
1 TO 2
copy disk1 to disk2

1-100+1000 TO 2-200
at sector100 copy disk1 1000 sectors to disk2 at sector200

1:2 TO 2:3
copy disk1 partition2 to disk2 partition3

1:2-200+1000 TO 2:3-300
copy at sector200 disk1 partition2 to disk2 partition3 at sector300

1:2 TO (d:\backup.toz=c=k=v1000=e?)
backup disk1 partition2 to IMAGE file d:\backup.toz
c - compress level 6(default)
k - key
v1000 - separate volume, every is 1000 MBs
e? - prompt for compress key to every volume

Multi-task:
MATCHED mode:
1:2,(h:\image.toz=v),2:3 TO (g:\image.toz=c=v),D:,3:2 -p
FREE mode:
1:2,2:3-2345,3:4 TO 3:3-1234+300,4:1+3456,(i:\image.toz=c=v1000)

<LOOK mode>

-Dn show disk n info
-P show parition info
noz|nozero : not show zeroID partition
noh|nohidden : not show hidden partition
nozh|nozerohidden : not show zeroID and hidden partition
fn|fatntfs : show FAT and NTFS partition
f|fat : show FAT parition
l|linux : show linux parition

n:n - 1:2 or 2:3 ...
A: - C: or D: ... Z:

Examples:
-d : show all drive
-d2 : show drive 2
-p : show all partition
-pfn : show FAT and NTFS parition
-p2:3 : show disk2 partition3
-pc: : show C:

Last edited by GOTOmsdos on 2007-1-15 at 09:35 PM ]

作者: johnsonlam     时间: 2007-1-12 10:11
Originally posted by GOTOmsdos at 2007-1-12 05:48 AM:
感觉英文文档有些很重要的使用说明没有写上去,现补充一些,等一下再写完它

HardDisk/Partition/Sector Backup/Restorer <By SECTOR CLONE>
TOdisk version 1.2 Al ...



謝 謝 !

我 正 在 更 新 網 頁 , 中 文 說 明 比 較 難 搞 , 需 要 點 時 間 。
英 文 的 會 盡 快 更 新

作者: johnsonlam     时间: 2007-1-12 10:12
Originally posted by GOTOmsdos at 2007-1-12 02:32 AM:

TOdisk 由于是扇区方式,所以对于处理硬盘,分区,扇区的数据是不管文件系统的(就是说,不管是FAT,NTFS,LINUX等等)
只是如果要处理镜象文件时 ...



謝 謝 !
即 是 說 可 以 甚 麼 參 數 都 不 用 去 clone WindowsXP 或 Linux 了 , 真 好 !

作者: johnsonlam     时间: 2007-1-12 10:15
Originally posted by GOTOmsdos at 2007-1-12 02:26 AM:
我说的是解压后是47KB(原程序是106KB)
所以我奇怪。



也 許 將 沒 用 的 東 西 去 掉 了 , 據 說 compiler 會 加 入 許 多 沒 用 的 東 西
會 Assembly 的 人 要 去 掉 那 些 可 能 並 不 難 ...
更 何 況 他 是 高 手

作者: GOTOmsdos     时间: 2007-1-12 11:21
Originally posted by johnsonlam at 2007-1-12 10:12 AM:



謝 謝 !
即 是 說 可 以 甚 麼 參 數 都 不 用 去 clone WindowsXP 或 Linux 了 , 真 好 !

处理较小的XP(比如2,3G左右的)还可以,我733MHZ的CPU,大约15-20分钟,还可接受。但要处理LINUX,就不太适合了,将近10G!就要较长时间了。
将来有时间的话,用XMS就好了。

关于英文文档,已经补充完了,明天回去把它编译到程序中去。

Last edited by GOTOmsdos on 2007-1-12 at 11:24 AM ]

作者: GOTOmsdos     时间: 2007-1-12 12:42
英文文档基本完成了,但明天还要调整一下

Last edited by GOTOmsdos on 2007-1-12 at 12:46 PM ]

作者: osfree     时间: 2007-1-13 02:16
支持

作者: chainliq     时间: 2007-1-13 02:59
GOTOMSDOS兄,
你机子上的毒清完没呀,符件上不会有LOGO啦吧```呵呵,开个玩笑!!顶```

作者: GOTOmsdos     时间: 2007-1-13 03:35
承蒙关心,正在杀!
系统盘已经杀完了,这就没问题了,不去动其他盘上的EXE,就没问题的
编译TOdisk的BC31文件在杀完毒的盘上的,更新程序要在纯DOS下去编译的,没问题的

作者: GOTOmsdos     时间: 2007-1-13 05:01
英文文档已基本完善好了,正在检查校对。。
另,需要对程序两个参数做改进:
1 允许 V 不带数字,以2047为默认(DOS单个文件的最大容量2048MB)
2 增加全局开关 -i , 等价于 -ir 加 -iw

Last edited by GOTOmsdos on 2007-1-13 at 06:20 AM ]

作者: GOTOmsdos     时间: 2007-1-13 13:19    标题: BC31 的奇怪的出错警告:Unable to open include file 'string.h'
有点奇怪:
好长时间没更新程序了,刚才想改进两个小地方,可是在改好源码(就两个小地方,跟全局无关的)后,编译时出错了:(敢肯定,最上一次成功编译后,一直没动源码!)

出错如下:(BC31)
MAKE Version 3.6 Copyright (c) 1992 Borland International

Available memory 15728640 bytes

bcc -c -O2 -Z -ml crc32.c

Borland C++ Version 3.1 Copyright (c) 1992 Borland International
crc32.c:
Error zutil.h 21: Unable to open include file 'stddef.h'
Error zutil.h 23: Unable to open include file 'string.h'
Error zutil.h 24: Unable to open include file 'stdlib.h'
Error zutil.h 38: Unable to open include file 'errno.h'
Error zutil.h 97: Unable to open include file 'alloc.h'
Error crc32.c 37: Unable to open include file 'limits.h'
*** 6 errors in Compile ***


Available memory 4187800

** error 1 ** deleting crc32.obj

Unable to open include file 'stddef.h'。。。。。。
就是不能打开包含档案,可是这些档案明明有的,INCLUDE的路径也正确

以为是磁盘有问题,换了其他分区上的BC31,也是同样的错误!
(如果是磁盘有问题,怎会碰巧是不同的分区有问题的文件是一模一样的?!)

在纯DOS,用SCANDISK整理后,仍是同样的错误!

在XP,用CHKDSK /F 整理后,仍是同样的错误!

以为是BC31程序有问题,下载了新的BC31,也是同样的错误!

把改了的文件换成原先的文件,仍然是同样的错误!
删掉*。OBJ *。LIB文件仍然不行!

在纯DOS,和XP的COMMAND都是同样的错误!

是用MAKEFILE方式编译的(程序较复杂,不方便用其他方式编译。试了在BC界面单独COMPILE某个同样需要'string.h'等等头文件的C文件,就没问题!)
这个出错跟什么编译方式应该没关系的吧。(以前都可以的)

(补充:以前曾经遇到过这个问题,可是重启后就好了,这次重启多次就是不行!)

极度地不解中。。。

Last edited by GOTOmsdos on 2007-1-14 at 12:13 AM ]

作者: johnsonlam     时间: 2007-1-13 15:23
Originally posted by GOTOmsdos at 2007-1-13 01:19 PM:
有点奇怪:
好长时间没更新程序了,刚才想改进两个小地方,可是在改好源码(就两个小地方,跟全局无关的)后,编译时出错了:(敢肯定,最上 ...



環 境 變 數 不 夠 用 ?

shell=command.com /e:1024 /p

作者: GOTOmsdos     时间: 2007-1-13 23:06
Originally posted by johnsonlam at 2007-1-13 03:23 PM:



環 境 變 數 不 夠 用 ?


配置中的环境变量很少的
好吧,我试一试。。。

作者: GOTOmsdos     时间: 2007-1-13 23:57
试过了,仍是同样的出错
把CONFIG。SYS,AUTOEXEC。BAT重命名后,仍是同样的出错

用最新病毒库的诺顿查了BC31和程序源码目录,没有毒

极度不解中(我现在真的找不出原因)

Last edited by GOTOmsdos on 2007-1-14 at 12:07 AM ]

作者: GOTOmsdos     时间: 2007-1-14 03:40    标题: 终于解决了!!!
由于怀疑机子上的BC31有问题,试了TC2,TC3,差不多也是同样的问题
下了DOS联盟的BC31,结果仍然是同样的出错!

我已经绝望了!
但是,我仍不死心,因为我认定了源码是没问题的,机器和DOS的配置没问题,
再下载别的BC31试试。。

下了恒创DOS的BC31,一试,果真成功了!(但是,仅仅只能在WINDOWS 的DOS窗口(COMMAND)里成功,在纯DOS里仍然不行!真是怪!)
一看,原先的BC31和恒创DOS的BC31版本是一样的3。1,但是前者24M,后者40M!

现在,基本断定这应该是原先版本的BC31的BUG吧?

在此,特别感谢恒创DOS版!

Last edited by GOTOmsdos on 2007-1-19 at 01:22 AM ]

作者: GOTOmsdos     时间: 2007-1-14 04:24
英文帮助又润色过了,基本定稿了,现在把它编译到程序中。。。

作者: GOTOmsdos     时间: 2007-1-14 04:36
Originally posted by johnsonlam at 2007-1-12 10:15 AM:



也 許 將 沒 用 的 東 西 去 掉 了 , 據 說 compiler 會 加 入 許 多 沒 用 的 東 西
會 Assembly 的 人 要 去 掉 那 些 可 能 並 不 難 ...
更 何 況 ...


我不理解的是居然减缩掉了超过一半!

作者: chainliq     时间: 2007-1-17 11:42
呵呵,頂` GOTOMSDOS兄果然利害```

作者: GOTOmsdos     时间: 2007-2-21 11:43
Originally posted by 本是 at 2007-1-11 09:37 AM:


用UNREAL模式+XMS调用(请参考REALMEM.ZIPhttp://ftp.lanet.lv/ftp/mirror/x2ftp/msdos/programming/memory/realmem.zip])


很感谢,
可是,你提供的下载文件却是 REAL 模式 +XMS 啊...

作者: dopodoelf     时间: 2007-3-17 03:24
太强了

作者: GOTOmsdos     时间: 2007-3-17 14:06    标题: TOdisk==〈增强版〉==初步出炉!
加入了如下功能:
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 ]

作者: GOTOmsdos     时间: 2007-3-26 08:26
补全了剩下的功能
这样,基本可替代超越了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 ]

作者: wzsunlight     时间: 2007-3-28 18:43
??????????????

作者: download     时间: 2007-3-29 00:27
DEBUG只是个调试器,跟扇区没什么关系,
真不懂是你如何拿两样不同的东东来比较的……晕死。

作者: GOTOmsdos     时间: 2007-3-29 05:52
Originally posted by download at 2007-3-29 12:27 AM:
DEBUG只是个调试器,跟扇区没什么关系,
真不懂是你如何拿两样不同的东东来比较的……晕死。


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

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

我真有点晕了

作者: download     时间: 2007-3-29 11:29
DEBUG调试器本身就可以随意写汇编和机器码,用A或E就行了,你爱调用什么就调用什么,IO还是INT13就不用我费话了吧

作者: GOTOmsdos     时间: 2007-3-29 12:44
楼上好象始终没有切入我帖子的主题,
不知道是什么思维? 学计算机的思维不该是这样吧?
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 ]

作者: download     时间: 2007-3-29 22:17
哈哈,楼上的有意思,我只是灌水了,你何必这么认真……纯路过……

作者: johnsonlam     时间: 2007-3-30 09:28
Originally posted by download at 2007-3-29 10:17 PM:
哈哈,楼上的有意思,我只是灌水了,你何必这么认真……纯路过……



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

這 樣 真 的 好 嗎 ?

作者: GOTOmsdos     时间: 2007-3-30 12:37
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 ]

作者: henrya2     时间: 2007-3-31 09:01
要是能像最新的GHOST那样全面支持NTFS就好了

作者: johnsonlam     时间: 2007-3-31 23:44

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 ]

作者: GOTOmsdos     时间: 2007-4-1 01:47
抱 歉 , 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 ]

作者: GOTOmsdos     时间: 2007-4-1 03:50
Originally posted by henrya2 at 2007-3-31 09:01 AM:
要是能像最新的GHOST那样全面支持NTFS就好了


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

作者: GOTOmsdos     时间: 2007-4-2 06:14
再更新如下:

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 ]

作者: johnsonlam     时间: 2007-4-3 07:50

太 好 了 , 可 惜 假 期 前 很 忙 , 暫 停 沒 空 更 新 網 頁 ...

作者: GOTOmsdos     时间: 2007-4-3 08:43
没关系,等你有时间再弄吧? 工作忙要注意休息啊

作者: GOTOmsdos     时间: 2007-4-3 12:02
再次更新如下:
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 ]

作者: GOTOmsdos     时间: 2007-4-4 08:37
TOdisk -CMOSKEY
有时当密码不满8位时,生成的CMOS密码可能不准确

作者: johnsonlam     时间: 2007-4-7 02:34    标题: 很 多 機 器 跑 ToDisk 會 當 機 , DJGPP 問 題 ?

機 會 率 是 40% , 不 知 是 否 DJGPP 或 是 某 個 Class library 觸 發 ?

作者: GOTOmsdos     时间: 2007-4-7 06:45
你是说的 TOdisk DJGPP版本?
我这里运行没问题.
不过可以再检查检查,看看是不是有地方不够完善.

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

Last edited by GOTOmsdos on 2007-4-7 at 07:06 AM ]

作者: GOTOmsdos     时间: 2007-4-7 07:01
正在如下改动和新增:

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

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

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

Last edited by GOTOmsdos on 2007-4-7 at 08:10 AM ]

作者: GOTOmsdos     时间: 2007-4-8 09:34
以上功能已成功加入,初步测试通过.

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

Last edited by GOTOmsdos on 2007-4-17 at 07:05 AM ]

作者: GOTOmsdos     时间: 2007-4-9 08:17
对TOdisk后来的补充功能已成功加入支持软盘功能:

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

Last edited by GOTOmsdos on 2007-4-17 at 07:05 AM ]

作者: GOTOmsdos     时间: 2007-4-10 05:02
更新已告顺利完成

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 ]

作者: wang6610     时间: 2007-4-10 05:33
又该写个同步的readme了。

作者: GOTOmsdos     时间: 2007-4-10 05:45
没错, 一直在加新功能, 还没时间更新文档呢!
快弄了...

作者: GOTOmsdos     时间: 2007-4-10 12:56
刚刚加入了从指定扇区指定偏移处写文件内容写到另一文件的功能, 并支持压缩的源文件和目标文件的压缩
参数如下:

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 ]

作者: GOTOmsdos     时间: 2007-4-11 04:34
发现如下BUG,并更正,

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

重新上传:

Last edited by GOTOmsdos on 2007-4-17 at 07:06 AM ]

作者: zts59     时间: 2007-4-11 10:11
楼主很热情,支持,愿楼主攻克速度问题!

作者: GOTOmsdos     时间: 2007-4-11 11:31
Originally posted by zts59 at 2007-4-11 10:11 AM:
楼主很热情,支持,愿楼主攻克速度问题!


速度问题,已经试过多种方法,但目前暂无突破.
不过,如果分区较小, 是没有大差别的..

刚才已经成功加入了主程序把文件(包括用本程序生成的压缩文件)的指定扇区位置的内容写到磁盘的功能.(就是 处在源位置上的文件也支持"-"减号了!)
初步通过测试....

并更正了如下BUG:

(非常不起眼,但导致了死机!!)

fseek(f,0-strlen(zlibKeyTRUE),SEEK_CUR)
导致出错
后来发现, 这个0有问题,改成 0L, 就没问题了!





至此,计划加入的种种功能,已经全部成功加入了TOdisk了!

(其中,有些问题非常难缠! 甚至到了几乎使我放弃的地步!,最后终于一个一个的被我拿下! 写这个系统,化了我宝贵的半年多时间, 导致的黑眼圈到现在一直没消,感觉到真的有点恐怖,但终于完成了!
也对支持鼓励TOdisk的朋友们表示感谢了!)

除了在速度方面外, 以后已没有大更新了..
已重新上传:(程序中的帮助还是老的,暂没更新呢...不过,快了)
全部基本通过测试
欢迎玩玩..(有问题的话,敬请报告BUG...有时间再改善)

Last edited by GOTOmsdos on 2007-4-17 at 07:01 AM ]

作者: GOTOmsdos     时间: 2007-4-12 07:40
发现并更正如下BUG:
1
软盘原先在软驱里运行程序时,不识别软盘,要在软驱空时运行程序后再放入软盘才能识别出有软盘
2
写分卷时,显示的问题
3
文件的任务量扇区数没有根据指定的起始扇区而更改.

对询问的格式作了改善

已重新上传

Last edited by GOTOmsdos on 2007-4-17 at 07:02 AM ]

作者: lp1129     时间: 2007-4-14 01:43
顶,支持GOTOmsdos老大

作者: terse     时间: 2007-4-15 06:35
下载最新版文件,可以使用;但加载IFS后不能运行,重新启动换加载NTFS4DOS一样不能运行TODISK 不知道TODISK能否识别加载IFS或NTFS4DOS后的NTFS盘符呢?

作者: cchessbd     时间: 2007-4-15 07:11
Originally posted by terse at 2007-4-15 06:35:
下载最新版文件,可以使用;但加载IFS后不能运行,重新启动换加载NTFS4DOS一样不能运行TODISK 不知道TODISK能否识别加载IFS或NTFS4DOS后的NTFS盘符呢?


我可以在IFS或NTFS4DOS下运行todisk

作者: GOTOmsdos     时间: 2007-4-15 10:03


最好不要完全指望NTFSPRO或IFS等DOS下的NT支持工具,可靠性没有保证的,而且速度可能也慢些
备份系统最好用FAT系列分区,如果一定要用NTFS,建议用新版GHOST



TODISK是按照DOS的逻辑搜索盘符的,加载NTFSPRO后,NTFSPRO为NTFS分区增加了盘符.这些盘符,在TODISK中,可以跟文件连在一起使用,但不能作为分区来用

但是,要操作这些NTFS分区,可以用1:1 2:2 等数字,更准确(但是要事先用 TODISK -P 来查看一下,不过,TODISK的分区编号是跟GHOST一样的,采用直接顺延的方式,很直观, 不象LINUX有特殊规定)



TODISK更新如下:
对FAT分区增加用第二个FAT替换第一FAT的功能.
参数如下:
TODISK -FAT2 D:
用D:盘的第二FAT替换掉第一FAT

已重新上传

Last edited by GOTOmsdos on 2007-4-17 at 07:03 AM ]

作者: terse     时间: 2007-4-15 10:52
刚进DOS分别试了加载IFS和NTFS4dos后不能运行TODISK 是否我的CONFIG.SYS有问题呢?
我知道程序有没冲突?帮看一下CONFIG.SYS文件如下!

device=QHIMEM.sys /N32 /W
device=UMBPCI.SYS
DEVICEHIGH=QCACHE.SYS /L /S5
device=XDMA.SYS
FILES=20
BUFFERS=30
SHELL=COMMAND.COM /P /F /E:4096
FCBS=4,0
STACKS=9,256
DOS=HIGH,UMB,AUTO
lastdrive=z


一直在找一个可以实现加载IFS或NTFS4DOS后识别NTFS盘符的软件,不知行否?

Last edited by terse on 2007-4-15 at 10:56 AM ]

作者: GOTOmsdos     时间: 2007-4-15 11:09
可能加载了 XDMA.SYS 导致TODISK不能运行..
我不知道是什么原因? TODISK并没有什么特别的要求,仅仅使用了普通的13,25/26中断,对内存要求很小,一般情况下,有70--370KB 就可以了
用UDMA.SYS好象也不行...
不知道 DMA.SYS系列在DOS中作了什么?

Last edited by GOTOmsdos on 2007-4-15 at 11:28 AM ]

作者: GOTOmsdos     时间: 2007-4-15 11:12
......

Last edited by GOTOmsdos on 2007-4-15 at 11:33 AM ]

作者: terse     时间: 2007-4-15 11:25
谢回复 再去试一下后汇报

作者: terse     时间: 2007-4-15 12:46
CONFIG.SYS改为如下:

device=himem.sys /testmem:off
FILESHIGH=20
BUFFERSHIGH=10,0
SHELL=COMMAND.COM /P /F /E:4096
FCBSHIGH=4,0
STACKSHIGH=9,256
LASTDRIVEHIGH=Z
DOS=HIGH,UMB,AUTO

第一次进dos后加载ntfs4dos成功运行todisk 盘符确如你说不能看到!
第二次进dos后加载ifs 运行todisk没有成功 我再找其他版本的IFS看看如何!
顺便问一下 TODISK在现状况下要突破加载ntfs4dos或ifs后 能识别NTFS盘符有一定难度吗?

作者: GOTOmsdos     时间: 2007-4-15 21:26
方法不是没有:
1
从DOS系统的盘符的内部,不知道TC/BC有没有函数
2
从NTFSPRO的分配NTFS分区的盘符的原理,这个可能比较麻烦
3
从NTFSPRO的分配NTFS分区的盘符的顺序,这个还是可能容易实现的,等一下,我看看它分配的顺序和规律吧...

Last edited by GOTOmsdos on 2007-4-15 at 09:28 PM ]

作者: wang6610     时间: 2007-4-16 00:09
Originally posted by GOTOmsdos at 2007-4-15 10:03 AM:


TODISK更新如下:
对FAT分区增加用第二个FAT替换第一FAT的功能.
参数如下:
TODISK -FAT2 D:
用D:盘的第二FAT替换掉第一FAT
...


改为换位比较好,不舒服再运行一次再换回来。免得替换后情况更糟糕。

作者: GOTOmsdos     时间: 2007-4-16 03:56
Originally posted by wang6610 at 2007-4-16 12:09 AM:


改为换位比较好,不舒服再运行一次再换回来。免得替换后情况更糟糕。


你是说,再增加换第一FAT到第二FAT?

这样,没必要的,因为DOS会自动把第一FAT的更新随时写到第二FAT的..

作者: GOTOmsdos     时间: 2007-4-16 04:15
加载 IFS后 , 不能运行


我这里 NTFSPRO 和 IFS 后 都运行正常

顺便问一下 TODISK在现状况下要突破加载ntfs4dos或ifs后 能识别NTFS盘符有一定难度吗?


应你的要求,这个功能已经加进去了!

用法如下: (再原有参数的最后面加上 -NTFSPRO 或 -IFS)

比如:
TOdisk -P -NTFSPRO
这样,就显示出后增加 NTFS分区的盘符了

TOdisk -P -IFS
这样,就显示出后增加的NTFS,和LINUX等的盘符了

TODISK 其他支持盘符的各功能,用法也一样
比如:

假如G:是后加的NTFS分区:
TODISK G: TO (D:\FILE) -NTFSPRO

(仅支持软盘盘符的处理磁盘扇区(或带偏移)的功能不支持硬盘盘符参数,
比如
TODISK -DWF ...
TODISK -PDB....
等等以上类似的功能, 这些功能本来就不支持硬盘盘符...

必须这样:
TODISK -DWF 1 123 34 FILE 12345
等等,
不过, 仅仅 软盘盘符可以:
TODISK -DWF A: 123 34 FILE 12345
)




不过还是建议用数字表示分区: 1:2 2:3 等等, 是不会错的
如果,场合性的加载各种磁盘驱动,那么盘符就可能乱了.



好象 IFS 驱动 不支持U盘和移动硬盘, 好象不能给它们分配盘符...请注意

已更新上传!



NTFSPRO 或 IFS 对DOS下的NTFS等的支持很不稳定,容易造成数据丢失的.

不推荐使用它们对NTFS分区做写盘操作!!

Last edited by GOTOmsdos on 2007-4-17 at 07:00 AM ]

作者: cchessbd     时间: 2007-4-16 08:56
不知道楼主这个版本有没有问题,
有时间帮你测试下.

作者: cchessbd     时间: 2007-4-16 08:59
Originally posted by GOTOmsdos at 2007-4-16 04:15:


我这里 NTFSPRO 和 IFS 后 都运行正常



应你的要求,这个功能已经加进去了!

用法如下: (再原有参数的最后面加上 -NTFSPRO 或 -IFS)

比如:
TOdisk - ...


顺便说一下,NTFS4DOS 1.9破结版对NTFS的写盘在某些电脑上也会出现问题.

100%写支持的话目前可能只有 Paragon Partition Manager 8.05的DOS版本了.
见下面的链接
http://www.cn-dos.net/forum/viewthread.php?tid=29497&fpage=1&highlight=

作者: terse     时间: 2007-4-16 09:07
试用了新版TODISK 确实可以显示加载NTFS4DOS后的盘符了
在DOS下输入:2:1 to (2:2\ccc.gho=c6)
结果ccc.gho的内容为:
zlib-1.2.3.f-GOTOmsdos-grub2linux-v1.0
继续输入: 2:3 to (d:\eee.gho=c6) 结果内容和上面一样
其间有提示文件名 输入文件名后有个提示 按Y回车! 但操作没有成功.

作者: GOTOmsdos     时间: 2007-4-16 11:02
Originally posted by cchessbd at 2007-4-16 08:56 AM:
不知道楼主这个版本有没有问题,
有时间帮你测试下.


恩,好啊! 感谢啊..

发现的虫虫, 已经杀了, 目前还没有新虫....
有时间欢迎边玩边测试吧...

Last edited by GOTOmsdos on 2007-4-16 at 11:19 AM ]

作者: GOTOmsdos     时间: 2007-4-16 11:07
Originally posted by terse at 2007-4-16 09:07 AM:
试用了新版TODISK 确实可以显示加载NTFS4DOS后的盘符了
在DOS下输入:2:1 to (2:2\ccc.gho=c6)
结果ccc.gho的内容为:
zlib-1.2.3.f-GOTOmsdos-grub2linux-v1.0
继续输入 ...


第一个:
2:2\FILE 是不支持的, 只有盘符才能跟文件用在一起
这样的话,TODISK会给出如下警告:

2, Not a drive letter
Failed to create file "2:2\ccc.gho=c6"
Change to another file ,press C
Exit, press E
Y,N ?

第二个:
应该没问题的,不知道是不是NTFSPRO/IFS的问题..
如果没有用NTFSPRO/IFS的正常情况下,我保证没有问题!
你可以试一试,不加载NTFSPRO/IFS, 看看是否数据正常?
如果正常就说明是NTFSPRO/IFS的问题..

另,我刚才试了下, 加载 NTFSPRO, 运行 TODISK时加 =C 参数(压缩), 就会压缩失败. 不压缩没问题.(发现 NTFSPRO 用掉了 138 KB的内存,而且还都在常规内存!! 我的老天!
不过,也有可能ZLIB压缩引擎跟NTFSPRO的冲突

用IFS, 就都可以(它只用了80KB)

Last edited by GOTOmsdos on 2007-4-16 at 12:47 PM ]

作者: GOTOmsdos     时间: 2007-4-16 11:16
更新如下:
1
修改了有关引用指针的代码,使之较安全.
2
精简了部分代码

已重新上传

Last edited by GOTOmsdos on 2007-4-17 at 07:00 AM ]

作者: GOTOmsdos     时间: 2007-4-16 11:23
100%写支持的话目前可能只有 Paragon Partition Manager 8.05的DOS版本了

下来试试...

作者: terse     时间: 2007-4-16 13:06
不知道TODISK有什么特别的要求没?
几次启动到DOS运行死机!
知道是我的AUTOEXEC和CONFIG.SYS文件关系!(我下午都可以使用TODISK的),
那位好心能否贴上你们的AUTOEXEC.BAT 和CONFIG.SYS两内容,不需要全部,或帮我看一下我的有什么问题!也谢!
(另外发现:不加载NTFS4DOS的情况下;使用了-NTFSPRO 一样给了NTFS顺延的盘符!也就是加载NTFS4DOS前后使用-NTFSPRO参数是一样结果)
我的AUTOEXEC.BAT:
@ECHO OFF
tw /np N3 >nul
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
SET HDPMI=16384
SET RAMDRIVE=x:\
XMSDSK 2048 %RAMDRIVE% /T /Y>NUL
PATH=%RAMDRIVE%;
COPY COMMAND.COM %RAMDRIVE%>NUL
SET COMSPEC=%RAMDRIVE%COMMAND.COM
MD %RAMDRIVE%TEMP
SET TEMP=%RAMDRIVE%TEMP
CD>%TEMP%\BOOTDRV.INI
vol>%TEMP%\VOL.TXT
cls
:start
call w.bat box (+white on +blue) @dos.scr:start
if errorlevel 100 goto end
if errorlevel 4 goto re
if errorlevel 3 goto end
if errorlevel 2 goto wdos
:x
IF EXIST dos.ex_ COPY dos.ex_ %RAMDRIVE%dos.zip>NUL
IF EXIST unzip.EXE COPY unzip.EXE %RAMDRIVE%unzip.exe>NUL
%RAMDRIVE%
cd\
unzip -d dos.zip >nul
del dos.zip >nul
menu
goto end
:wdos
mouse >nul
mousp >nul
DOSKEY >nul
DOSLFN /z:Cp936uni.tbl >nul
goto :eof
:re
r
goto end
:END
tw /q
mouse /q>nul
mousp /q>nul
DOSKEY /q>nul
DOSLFN /q >nul
cls
CONFIG.SYS内容:
device=himem.sys /testmem:off
FILES=20
BUFFERS=30
SHELL=COMMAND.COM /P /F /E:4096
FCBS=4,0
STACKS=9,256
DOS=HIGH,UMB,AUTO
lastdrive=z

Last edited by terse on 2007-4-16 at 01:10 PM ]

作者: GOTOmsdos     时间: 2007-4-16 22:18
不加载NTFS4DOS的情况下;使用了-NTFSPRO 一样给了NTFS顺延的盘符!


TOdisk 给出额外的盘符跟它们的程序没有关系的,只是按照它们的逻辑给出的
,就是说,如果没有运行它们,这些额外的盘符DOS系统是不识别的,但是在TODISK中,你仍然可以用它们来代替数字直接表示分区!(这也是TODISK的有趣的地方,但不提倡这样)

比如: G: (NTFS分区,是1:5), 也没有加载NTFSPRO/IFS

如下不行:
TODISK C: TO (G:\FILE) DOS系统是不识别G:

如下可以:
TODISK G: TO (C:\FILE) TODISK 会帮你转成对应的1:5, 也会一并显示出来的
(但不提倡这样,容易使你糊涂, 个性化地玩玩,可以)

作者: GOTOmsdos     时间: 2007-4-16 22:21
知道是我的AUTOEXEC和CONFIG.SYS文件关系!(我下午都可以使用TODISK的),


TODISK应该没什么特别要求,我也不清楚是否跟有些驱动冲突

我帮你测试一下吧:
是不是 XMSDSK TW MOUSP ...?

作者: GOTOmsdos     时间: 2007-4-16 23:11
刚才试了 XMSDSK TW MOUSCLIP 都没有问题

现在,全面测试一下你的 全部配置,

不过 你这个 goto :eof (goto eof) ?

有这些用法?

:x
这个记号没有使用...

unzip ...
如果前面没有这个文件, 就没法执行..

Last edited by GOTOmsdos on 2007-4-16 at 11:34 PM ]

作者: terse     时间: 2007-4-17 01:24
Originally posted by GOTOmsdos at 2007-4-16 23:11:
刚才试了 XMSDSK TW MOUSCLIP 都没有问题

现在,全面测试一下你的 全部配置,

不过 你这个 goto :eof (goto eof) ?

有这些用法?

:x
这个记号没有使用...
...

:eof是我用的一个空标签 这样用不对吗?(省略它好象会继续下面的动作)
:x的作用是想在这里有个停顿以便做WBAT的选择(省略它好象也会直接下面动作)
unzip 前加上 IF EXIST可以不?
下午我再继续测试;
另:我是U盘启动且被主板认为C:l

作者: GOTOmsdos     时间: 2007-4-17 01:55
:eof是我用的一个空标签 这样用不对吗?(省略它好象会继续下面的动作)

goto :eof X
goto eof Y
而且,后面要有才行的吧? 否则出错

:x的作用是想在这里有个停顿以便做WBAT的选择(省略它好象也会直接下面动作)

有它,如果后面没有,照样接着执行的呀

unzip 前加上 IF EXIST可以不?

如果没有,后面的事就没法做了呀

另:我是U盘启动且被主板认为C:

那当然,除了软盘模式(USB-FD)外,启动到哪,哪儿就是C

************************************

你的AUTOEXEC.BAT/CONFIG.SYS,我试了,(我没有的程序没法试...)

AUTOEXEC.BAT 如下:
@ECHO OFF

rem tw32 /np N3 >nul
tw32 >nul
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
SET HDPMI=16384
SET RAMDRIVE=x:\
XMSDSK 2048 %RAMDRIVE% /Y>NUL
PATH=C:\DOS71;%RAMDRIVE%;
COPY COMMAND.COM %RAMDRIVE%>NUL
SET COMSPEC=%RAMDRIVE%COMMAND.COM
MD %RAMDRIVE%TEMP
SET TEMP=%RAMDRIVE%TEMP
CD>%TEMP%\BOOTDRV.INI
vol>%TEMP%\VOL.TXT
cls

%RAMDRIVE%
cd\
mouse >nul
mousclip >nul
DOSKEY >nul
lh DOSLFN >nul
goto eof
:re

:END
tw32 /q
mouse /q>nul
mousclip /q>nul
DOSKEY /q>nul
DOSLFN /q >nul
cls
:eof


CONFIG.SYS如下
DOS=HIGH,UMB
devicehigh=c:\dos71\himem.sys /testmem:off
devicehigh=c:\dos71\emm386.exe noems
SHELL=COMMAND.COM /P /F /E:4096
lastdrive=z

$$$$$$$$$$$$$$$$$
上面运行TODISK, 不压缩没问题, 压缩时显示 压缩失败

在CONFIG.SYS中加载EMM386.EXE RAM 就可以压缩了
可能是ZLIB压缩库对内存有要求; 初步估算一下,TODISK总共内存要求大概是在550-600左右,这个没精确测试...可能吧.

NTFSPRO后能运行,但压缩肯定不行,因为内存只剩500以下!
IFS后完全没问题

Last edited by GOTOmsdos on 2007-4-17 at 01:57 AM ]

作者: terse     时间: 2007-4-17 02:09
刚又试了 把CONFIG.SYS中BUFFERS=30 改为 BUFFERSHIGH=10,0
现在可以运行TODISK
发现 04-15 13:27的版本在我的机器上第一次运行不能识别U盘,其他就可以;
谢谢GOTOmsdos的热心!

作者: GOTOmsdos     时间: 2007-4-17 02:10
[补充]
如果启动进DOS后,再加载磁盘驱动(比如USB设备),TODISK的盘符就不对了,(驱动光驱没问题,因为光驱不是磁盘)
所以,建议不要用盘符表示分区(不过,跟文件用在一起,当然是要用盘符的,而且只能用盘符,不能用数字..)

作者: terse     时间: 2007-4-17 02:17
我试用 2:3 to (d:\e.toz) 那样的话是不是备份整个分区呢?
这样的话 那不是我的D区要有很大的空间,
运行2:3 to (d:\e.toz)后因看它进度估计要很长时间 没有继续下去!

作者: GOTOmsdos     时间: 2007-4-17 02:20
发现 04-15 13:27的版本在我的机器上第一次运行不能识别U盘,其他就可以

如果是BIOS支持USB设备启动,TODISK会完全没问题,并且,盘符都正确,因为BIOS在启动前就已经加载了USB驱动.所以启动后无需再驱动,而且再驱动反而出错
如果是BIOS不支持USB启动,在启动进DOS后再加载的USB驱动,TODISK也能识别,不过显示的USB盘符就不对了.

我的情况:
BIOS支持USB启动,一个硬盘,一个USB硬盘,一个U盘
都全部显示正确
以前,用BIOS不支持USB启动的主板,在启动后加载USB驱动,我记得好象TODISK也能识别的
因为,USB磁盘,在成功驱动后,就模拟成了硬盘(U盘的USB-FD/USB-ZIP除外),就占用一个IDE号,全部IDE设备从0X80开始;

我的情况:
0x80 真硬盘
0x81 USB硬盘
0x82 U盘(USB-HDD模式)

既然都有IDE设备了,TODISK没有不识别的道理, 硬件故障除外

Last edited by GOTOmsdos on 2007-4-17 at 02:29 AM ]

作者: GOTOmsdos     时间: 2007-4-17 02:46
我试用 2:3 to (d:\e.toz) 那样的话是不是备份整个分区呢?,

是的

这样的话 那不是我的D区要有很大的空间,

这要看 2:3 的空间有多大

运行2:3 to (d:\e.toz)后因看它进度估计要很长时间 没有继续下去! ,

速度问题(尤其是压缩时的速度问题,不压缩的速度还是很快的),目前正是TODISK的缺憾,试了很多方法,但暂时没有解决..希望以后,有机会能解决...
不过处理2GB以内的较小的分区,时间上还是可以接受的,况且因为是自写的程序,用起来还是别有一番情趣的,而且,体积较小,是GHOST的1/8,却能做GHOST的主要工作

而且,TODISK的其他很多功能非常丰富,灵活和强大,是GHOST没有的

作者: terse     时间: 2007-4-17 03:15
TODISK的其他很多功能非常丰富,灵活和强大,确实是GHOST没有的
对于本人使用情况我想说几点:
一、因为想用它和GHOST结合使用,能否给一个精简的呢?只需TODISK -D 和TODISK -P -NTFSPRO的功能就好!这样在体积上可以更小;
二、在TODISK -P的功能上 能否有一个TODISK -Pn 呢?现在TODISK -P列出的信息是全部磁盘的分区信息吧!就是只需列出单个磁盘的分区信息,n表示磁盘号,

下面是我TODISK -P -NTFSPRO后的列表:
1> * 1 1 C: *04 FAT16(<32M) USBZIP-BOOT 32 252440 123
2> * 1 5 G: *07 HPFS/NTFS 63 10522512 5137
2 2 D: 0B FAT32 NO NAME 10522638 42106302 20559
3 6 H: 07 HPFS/NTFS 52629003 19454652 9499
4 3 E: 0B FAT32 NO NAME 72083718 42106302 20559
5 4 F: 0B FAT32 NO NAME 114190083 42106302 20559

其中1 5 G:是我第二硬盘的主分区 我想知道主分区识别是什么?要是和GDISK那样用PRIMARY表示磁盘的第一主分区就太完美了!

Last edited by terse on 2007-4-17 at 03:22 AM ]

作者: GOTOmsdos     时间: 2007-4-17 03:25
两点都可以的,没问题
一,如果你需要,我可以替你精简出来,不过 -SALL / -RALL 备份/恢复整个分区表链,非常实用 GHOST没有的,用起来非常方便
二 本来就有的,看一下首帖

Last edited by GOTOmsdos on 2007-4-17 at 03:27 AM ]

作者: terse     时间: 2007-4-17 03:38
如能给个精简出来的 万分感谢!
看了首帖 还是不明白怎样列出第二硬盘的整个分区(不是指定分区,是单的磁盘的整个分区)! -P2: 吗?试过好象不行;
例子:
-d : 显示全部硬盘
-d2 : 显示硬盘2
-p : 显示全部硬盘全部分区
-pfn : 显示FAT和NTFS分区
-p2:3 : 显示硬盘2分区3
-pc: : 显示 C:

作者: GOTOmsdos     时间: 2007-4-17 03:40
No. DR P P N : A ID
> 1 A: 01
1> * 1 2 C: *0B
* 2 07

其实一看就看的出来的,很显眼的 * 号 啊
第一个P的下面的星号就是主分区
原来想显示PRIMARY的,但是没有地方了,全占满了
用P下面的星号表示更简洁啊

(第二个星号是活跃分区,也就是可启动的分区)

Last edited by GOTOmsdos on 2007-4-17 at 03:41 AM ]

作者: GOTOmsdos     时间: 2007-4-17 03:43
哦,显示单的磁盘的整个分区?
好象没
那就加进去...

作者: terse     时间: 2007-4-17 04:38
先谢!祝愉快!

作者: GOTOmsdos     时间: 2007-4-17 06:39
作者: GOTOmsdos     时间: 2007-4-17 06:45
另, 又更新如下:
调整了磁盘/分区的显示方式:
增加可显示某个硬盘的全部分区

用法如下:
TODISK -P1
显示第一硬盘的全部分区

最新版见首帖

作者: renl     时间: 2007-12-29 00:11
我希望老兄可以继续做下
希望您可以将速度提高
加油

作者: lsq726     时间: 2008-2-1 06:32
"GHOST 采用文件模式,即使只处理文件,不处理没有文件的数据,(所以,其实GHOST不是CLONE.是重整).这样,速度就快了,尤其是文件少的分区,但是,弱点是:用这种方式恢复的分区,不可能找回被删除的或丢失的文件,因为,没有合法文件的数据没有被保存.
MYdisk 是采用扇区方式,就是完全的复制,这样,虽然速度没有文件方式快,但是确是全真方式.即一模一样,这才是真正的 CLONE"

希望看到TODISK增加文件模式,文件模式还是有好处的,,不用磁盘整理了:0
同时希望能完美支持NTFS

祝愿TODISK更完美。。

作者: GOTOmsdos     时间: 2008-2-13 22:21
Originally posted by lsq726 at 2008-2-1 06:32 AM:
"GHOST 采用文件模式


这话是我说的,但我以前就更正过了:这里再强调一下:

GHOST默认是文件方式, 但也可以加参数运行扇区方式

作者: kmlxk     时间: 2008-2-24 02:00
又见强大的程序=。=太佩服了

作者: longyi     时间: 2008-4-2 20:24
克隆过程显示有待改进,连续滚屏有点难受

作者: stronger     时间: 2008-4-7 14:40
顶,无私的奉献!!!

作者: fangma     时间: 2008-10-11 15:54
好东西啊.支持