![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-01 21:05 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,249 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » 对 GHOST 用户参数的 借鉴和思考... |
| 可打印版本 2,281 / 13 |
| 第1楼 GOTOmsdos | 发表于 2006-08-19 21:43 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
对 GHOST 用户参数的 借鉴和思考... 自己在写硬盘读写器的过程中,借鉴了GHOST的表示硬盘和分区的参数,很简洁
比如 : 1:2... 但是,同时觉得GHOST 的 其他参数 比如 SRC,DST,CLONE,PDUMP,PRESTORE,SPLIT等等,是不是有点背离这种精神了 .. 看到一些编程书(有关用户界面)介绍设计程序应该不要让用户涉及到程序内部的东西,诸如读取数据(READ模式),写模式(WRITE),什么类型,源数据(SRC),目标数据(TARGET),倾倒(DUMP),恢复(RESTORE)等等,因为这些是程序员的事,程序员写程序往往不由自主的把这些东西带出来,这就不是充分为用户考虑,应该动脑筋设计出不带程序痕迹而易用(user friendly)... 当然,也得有个简单的约定(比如,1,2,代表硬盘,1:2 代表硬盘的分区....) 刚刚设想自己刚写的迷你硬盘读写器的参数采用什么方式? 为作到既简洁又有丰富的功能(当然是就我程序中含有的功能..) 初步设计如下参数模式,供参考.. 除了TO之外,不见一个程序员的术语... 1 程序 1 TO 2 自然就是把硬盘1复制到硬盘2,无须源硬盘和目标硬盘,自然是采用左是源,右是目标,符合一般人的思维习惯.甚至连 TO 不要也是可以的...当然有了,思维更清晰 4(多硬盘) 程序 1,2 TO 3 5(加入分区功能) 程序 1:2 TO 2:3 把硬盘1的分区2复制到硬盘2的分区3 6(支持盘符) 程序 E: TO 2:3 7 程序 C: TO G: 支持镜象文件 8 程序 1 TO (1) 把硬盘1装入镜象文件1 9 程序 1 TO (1=C) 把硬盘1装入镜象文件1,压缩,默认级别 10 程序 1 TO (1=C9) 把硬盘1装入镜象文件1,压缩,级别9 11 程序 1 TO (1=C9=K) 把硬盘1装入镜象文件1,压缩,级别9,加密 12 程序 1 TO (1=C9=K=V) 把硬盘1装入镜象文件1,压缩,级别9,加密,默认分卷(1000MB) 12 程序 1 TO (1=C9=K=V1500) 把硬盘1装入镜象文件1,压缩,级别9,加密,分卷(1500MB) 12 程序 1 TO (1=C9=K=V1500=E) 把硬盘1装入镜象文件1,压缩,级别9,加密,分卷(1500MB),每个分卷都要加密(与第一个文件一样的密码) 12 程序 1 TO (1=C9=K=V1500=E?) 把硬盘1装入镜象文件1,压缩,级别9,加密,分卷(1500MB),每个分卷都要加密(每个文件都要提示用户输入不同密码) 13(根据镜象文件恢复) 程序 (1) TO 1 把镜象文件1恢复到硬盘1,自动检查是否是压缩,但不自动检查有无分卷 14(根据镜象文件恢复) 程序 (1=V) TO 1 把镜象文件1恢复到硬盘1,自动检查是否是压缩, 自动检查分卷,如无,则提示用户输入分卷名(如果用户后来改名了) 如果需要丰富功能的: 综合: 程序 1:2,2:3,3:4 TO 3:2,(G:\BACK.Z=C9=K=V1500=E?) 如果需要指定扇区位置,并指定操作扇区数的 : (- 表示要操作的开始扇区位置 + 表示要操作的总扇区数) 1 程序 1-100+1000 TO 2 从第100扇区开始把硬盘1的1000扇区 复制到硬盘的0扇区 2 程序 1-100+1000 TO 2-200 3 程序 1:2-100+1000 TO 2:3-300 4 程序 1:2+1000,E:-300 TO G:-200,2:4-500 5 程序 1:2+1000,E:-300 TO G:-200,(H:\BACK.Z=C9=K=V500=E?)+1000,2:4-500 把硬盘1的分区2, 1000扇区 和E:盘的第300扇区,全部 装入到G:盘的200扇区处(全部剩下扇区)和文件H:\BACK.Z (1000扇区,指未压缩)和硬盘2的分区4的500扇区处. ... 我的迷你硬盘读写器将尝试采用这个参数模式.... [ Last edited by GOTOmsdos on 2006-8-19 at 21:46 ] |
|
| 第2楼 wang6610 | 发表于 2006-08-19 22:39 |
| 银牌会员 发帖 488 积分 1,246 | |
|
思路很好,越简单越需要考虑严谨周密。
避免矛盾和重复。 [ Last edited by wang6610 on 2006-8-19 at 22:41 ] |
|
| 第3楼 fastslz | 发表于 2006-08-19 22:48 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
1:支持盘符!DOS下的盘符?还是win下的?是否考虑放弃以盘符方式备份,毕竟vista的诞生还会出现新的格式,有个ntfs盘符交错已经够乱了,不如刚开始设计时就不考虑盘符支持。
2:如上参数都是数字是否会出现误操作?是否考虑备份恢复操作加入核心参数?如备份用/B 恢复用/R 扇区操作/F(字母可选)这样也可以避免一些误操作。另外1 TO (1=C9=K=V1500=E) 的=符号是否考虑改用已习惯的 - 符号。 |
|
| 第4楼 GOTOmsdos | 发表于 2006-08-19 22:49 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
我原来的参数是
程序 1 -r|w -d1 -d2 -r|w -d1 -s100 -d2 -r|w -d1 -s100 -n1000 -d2 -r|w -d1 -s100 -n1000 -d2 -s200 2 -r|w -d1 -p1 -d2 -p2 -r|w -d1 -p1 -s100 -d2 -p2 -r|w -d1 -p1 -s100 -n1000 -d2 -p2 -s300 3 -r|w -d1 -ffile -r|w -d1 -p1 -ffile.z -c9 -k -v1000 -e? .... 现在,感觉很烦. |
|
| 第5楼 fastslz | 发表于 2006-08-19 22:58 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
再来一个有点异想天开的想法
程序 1:2,2:3,3:4 TO 3:2,(?:\BACK.Z=C9=K=V1500=E?) ?:\BACK.Z 这个?类似find的功能 ![]() |
|
| 第6楼 GOTOmsdos | 发表于 2006-08-19 23:16 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
TO fastslz
1 因为是DOS程序,盘符自然是DOS盘符(FAT12,FAT16,FAT32),如果要处理非FAT分区,程序有选项,可显示各种形式的分区表项,供用户操作前查看的....支持全部分区 2 关于误操作的问题,这个不用担心的,硬盘工具都是慎重又慎重的,不会一次定乾坤的 程序会告诉用户一些用户输入的参数信息,等用户确认的,如果是写盘,还多一次写确认. 我的设想中的 TO 这个唯一的关键字我觉得已经足够了,他清楚的表明了源和目标的关系.程序需要的种种参数已完全在左右的输入中了. 你提出的,如备份用/B 恢复用/R 扇区操作/F, 这些,,固然有他的用处,但是,与我的本帖的初衷(简洁,高效)就相悖了, 而且 在技术上,"备份" "恢复"的关系已经在TO中得到了说明,如果是 左--磁盘 右--文件 ,这自然是叫"备份"; 反过来, 自然就是叫"恢复".用户心中应该是很清楚的. 如果,硬要说出这些概念,有些不懂电脑的用户到反而会不太清楚这些概念了.. 在GHOST用户界面 中的 DISK TO DISK, DISK TO IMAGE IMAGE TO DISK PARTITION TO PARTITION PARTITION TO IMAGE IMAGE TO PARTITION 也就是这个道理吧? (他没有说,在此处 备份,在此处恢复...) 这也可能是思维习惯的问题.. 3 至于 = 符号,我原先也考虑都用 - 号,但是 用户要输入含有 - 号 的文件名怎么办? 我也考虑过用 / * 等,最后还是觉得 = 好,它也不要同时按下 SHIFT,直接可以打出来,也醒目.... |
|
| 第7楼 GOTOmsdos | 发表于 2006-08-19 23:17 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
(?:\BACK.Z=C9=K=V1500=E?)
可以啊! 不过,要有一定的用处啊! 你要它表示什么功能用处呢? 嘿嘿 C语言中 著名的唯一的三木运算式 就是这样的: XXX ? A : B 意思是: XXX 是真的吗? 如果是真的 就 A 否则就 B 哇! 多简洁! 既简洁清楚又有美感.. [ Last edited by GOTOmsdos on 2006-8-19 at 23:40 ] |
|
| 第8楼 GOTOmsdos | 发表于 2006-08-19 23:20 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
那些老的优秀的 DOS LINUX 程序员 都有很多既有个性又简洁丰富功能的参数符号呢!
[ Last edited by GOTOmsdos on 2006-8-19 at 23:34 ] |
|
| 第9楼 fastslz | 发表于 2006-08-20 00:24 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
?:\BACK.Z
这么说吧,我是希望它自动去查找,如同命令 FOR %%A IN (1:2 1:3 1:4 1:5 1:6 1:7 1:8 1:9 1:10 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 3:1 3:2 3:3 3:4 3:5 3:6 3:7 3:8 3:9 3:10 4:1 4:2 4:3 4:4 4:5 4:6 4:7 4:8 4:9 4:10) DO %%A:\BACK.Z TO 1:1 即同时执行1:2至4:10而不会因为执行 1:2:\BACK.Z TO 1:1 找不到1:2:\BACK.Z后因为错误跳出而继续执行 1:3:\BACK.Z TO 1:1 直到执行完任何一个可能出现的数字,类似grub参数find --set-root /menu.lst上面(1:2 1:3 1:4 1:5 1:6 1:7 1:8 1:9 1:10 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 3:1 3:2 3:3 3:4 3:5 3:6 3:7 3:8 3:9 3:10 4:1 4:2 4:3 4:4 4:5 4:6 4:7 4:8 4:9 4:10)等于4个硬盘每个暂定可能会出现10个分区 [ Last edited by fastslz on 2006-8-20 at 00:38 ] |
|
| 第10楼 GOTOmsdos | 发表于 2006-08-20 00:59 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
哦,这个意思..
你的意思是 当(?:\BACK.Z=C9=K=V1500=E?) 在左边时吧? 就是源文件. 因为是DOS程序, 所以,寻找FAT格式的分区还是可以考虑的,其他的自然就做不到了啊 不过,思路挺有意思 |
|
| 第11楼 fastslz | 发表于 2006-08-20 01:02 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
这样就完美了,根本就不用考验盘符问题了
关于参数符号我觉的文件名中 , 出现几率少于 - 也算是习惯之内, 而=我在这里随便说说啊!在ghost参数中我习惯自定义压缩级别变量 set 压缩级别=-z2 而在你的在参数里就变成错误语法了 set 压缩级别==c9 虽然可以用set 压缩级别=c9但这也是我发现=符号不适合的一个原因,仅做参考 |
|
| 第12楼 fastslz | 发表于 2006-08-20 01:26 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
其实恢复系统比备份系统更容易错,这点我想大家在日常ghost中经常遇到找不到某个.gho恢复系统失败。我也受grub的find启发,
grub命令行下find --set-root /system.gho试试 grub确实做到了只可惜不能打印内容到文件 |
|
| 第13楼 GOTOmsdos | 发表于 2006-08-20 01:49 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
1 - =
当然,这个符号是无所谓的,如果有更好的可以考虑换一换 但是,键盘上就是那么多可用的符号,其他的都觉得不合适 你建议的仍用 - ,可是,我还是觉得文件名还是经常用它的, 在LINUX中,全部都是用 - 的,在WIN/DOS中,也很常见的 一般都是 XXX-A-1, YYY-2.等等,用来区别的 还有, _ 也是 合法的文件名,有人也很喜欢用的,尤其是程序员出身的, 用它分割起来使文件名比 - 更清楚 至于你说的 = 与== 混淆, 这个其实,关系不大,因为毕竟程序中的 符号 用的是不多的 就那么几次...不至于引起很大的混淆..(而且都限定在括号中) 2 Z C 这个是可以考虑通用习惯的. |
|
| 第14楼 johnsonlam | 发表于 2006-09-01 14:00 |
| 银牌会员 发帖 497 积分 1,410 来自 九龍,香港 | |
Originally posted by GOTOmsdos at 2006-8-19 10:49 PM: 借 镜 LAME 的 作 法 ... --preset 1 --preset 2 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |