中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-29 14:43
47,816 主题排行 / 349,916 发帖 / 今日 0 篇 / 48,265 会员排行
DOS疑难解答 & 问题讨论 (解答室) » 如何计算双硬盘每个硬盘的分区个数?
可打印版本  12,325 / 41
第16楼 fastslz 发表于 2006-06-11 16:17
铂金会员 发帖 2,315 积分 5,493 来自 上海
Re qwe1234567
哈哈....我没双硬盘也没有虚拟机测试的本想提示下葛老师就行,毕竟批处理是他的强项

至于你的方法可以用for简化,之所以我没用我在13楼时说了,如果find 到disk1=2成立直接跳转到find disk2=?不再继续find下去了,因为DOS下find命令执行比较慢,估计find18~20次要停顿一段时间,毕竟把2个硬盘分成18~20个分区的人不多但也不能排除,宁可批处理参数过多find次数减少,也出于考虑葛老师一般用在一键ghost上面,用一键ghost的人也并非全是高配置电脑。

至于13楼批处理出错提示正如willsort老师说的if not errorlevel 1 set disk1=1 goto 2 变量值过于简单的原因

14楼无奈何版主的批处理我都看不懂,我属于杂牌军没什么学历对自己要求不高,以后象各位版主学习

[ Last edited by fastslz on 2006-6-11 at 16:20 ]
第17楼 不得不爱 发表于 2006-06-12 08:20
超级版主 发帖 2,044 积分 5,310 来自 四川南充
我的方法是可以在纯DOS下运行,而无奈何的批处理却在纯DOS下无法运行,无法在WINXP以下的系统运行,有局面性!
第18楼 gmy 发表于 2006-06-12 09:18
版主 发帖 392 积分 1,113
谢谢大家,小结一下:

CMD下 核心程序 DISKPART
纯DOS下 核心程序 GHOST
第19楼 fastslz 发表于 2006-06-12 09:41
铂金会员 发帖 2,315 积分 5,493 来自 上海
今天测试了一下不好意思出洋相了
现在完整了,不会用CMD下 DISKPART可以借助GHOST32 --dd

@echo off
ghost -dd >NUL
:1_1
set disk1=
TYPE GHSTSTAT.TXT|FIND /i "Key 1:9" >NUL
if not errorlevel 1 set disk1=9
IF "%disk1%"=="9" goto FIND2
set disk1=
TYPE GHSTSTAT.TXT|FIND /i "Key 1:8" >NUL
if not errorlevel 1 set disk1=8
IF "%disk1%"=="8" goto FIND2
set disk1=
TYPE GHSTSTAT.TXT|FIND /i "Key 1:7" >NUL
if not errorlevel 1 set disk1=7
IF "%disk1%"=="7" goto FIND2
set disk1=
TYPE GHSTSTAT.TXT|FIND /i "Key 1:6" >NUL
if not errorlevel 1 set disk1=6
IF "%disk1%"=="6" goto FIND2
set disk1=
TYPE GHSTSTAT.TXT|FIND /i "Key 1:5" >NUL
if not errorlevel 1 set disk1=5
IF "%disk1%"=="5" goto FIND2
set disk1=
TYPE GHSTSTAT.TXT|FIND /i "Key 1:4" >NUL
if not errorlevel 1 set disk1=4
IF "%disk1%"=="4" goto FIND2
set disk1=
TYPE GHSTSTAT.TXT|FIND /i "Key 1:3" >NUL
if not errorlevel 1 set disk1=3
IF "%disk1%"=="3" goto FIND2
set disk1=
TYPE GHSTSTAT.TXT|FIND /i "Key 1:2" >NUL
if not errorlevel 1 set disk1=2
IF "%disk1%"=="2" goto FIND2
set disk1=
TYPE GHSTSTAT.TXT|FIND /i "Key 1:1" >NUL
if not errorlevel 1 set disk1=1
IF "%disk1%"=="1" goto FIND2
goto FIND2


:2_1
set disk2=
TYPE GHSTSTAT.TXT|FIND /i "Key 2:9" >NUL
if not errorlevel 1 set disk2=9
IF "%disk2%"=="9" goto end
set disk2=
TYPE GHSTSTAT.TXT|FIND /i "Key 2:8" >NUL
if not errorlevel 1 set disk2=8
IF "%disk2%"=="8" goto end
set disk2=
TYPE GHSTSTAT.TXT|FIND /i "Key 2:7" >NUL
if not errorlevel 1 set disk2=7
IF "%disk2%"=="7" goto end
set disk2=
TYPE GHSTSTAT.TXT|FIND /i "Key 2:6" >NUL
if not errorlevel 1 set disk2=6
IF "%disk2%"=="6" goto end
set disk2=
TYPE GHSTSTAT.TXT|FIND /i "Key 2:5" >NUL
if not errorlevel 1 set disk2=5
IF "%disk2%"=="5" goto end
set disk2=
TYPE GHSTSTAT.TXT|FIND /i "Key 2:4" >NUL
if not errorlevel 1 set disk2=4
IF "%disk2%"=="4" goto end
set disk2=
TYPE GHSTSTAT.TXT|FIND /i "Key 2:3" >NUL
if not errorlevel 1 set disk2=3
IF "%disk2%"=="3" goto end
set disk2=
TYPE GHSTSTAT.TXT|FIND /i "Key 2:2" >NUL
if not errorlevel 1 set disk2=2
IF "%disk2%"=="2" goto end
set disk2=
TYPE GHSTSTAT.TXT|FIND /i "Key 2:1" >NUL
if not errorlevel 1 set disk2=1
goto end

:FIND2
rem 判断是否存在硬盘2
TYPE GHSTSTAT.TXT|FIND /i "Key 2" >NUL
if not errorlevel 1 goto 2_1

:end
cls
echo.
echo.
echo.
echo 当前第一个硬盘上面有 %disk1% 个分区
IF "%disk2%"=="?" echo 当前第二个硬盘上面有 %disk2% 个分区
PAUSE >NUL

[ Last edited by fastslz on 2006-6-12 at 09:59 ]
第20楼 不得不爱 发表于 2006-06-12 10:00
超级版主 发帖 2,044 积分 5,310 来自 四川南充
楼上的代码还是错误的,如果找到Key[1] 1:1后就跳到FIND2去了,结果是显示只有一个分区!
第21楼 fastslz 发表于 2006-06-12 10:22
铂金会员 发帖 2,315 积分 5,493 来自 上海
又重新编辑了
第22楼 不得不爱 发表于 2006-06-12 15:18
超级版主 发帖 2,044 积分 5,310 来自 四川南充
同样有问题!
第23楼 fastslz 发表于 2006-06-12 15:56
铂金会员 发帖 2,315 积分 5,493 来自 上海
还有问题?我没办法了,请教一下了

:FIND2
rem 判断是否存在硬盘2
TYPE GHSTSTAT.TXT|FIND /i "Key[1] 2" >NUL
if not errorlevel 1 goto 2_1
set disk1=0

:end
cls
echo.
echo.
echo.
echo 当前第一个硬盘上面有 %disk1% 个分区
IF not "%disk2%"=="0" echo 当前第二个硬盘上面有 %disk2% 个分区
PAUSE >NUL


这样行不?
第24楼 不得不爱 发表于 2006-06-17 12:01
超级版主 发帖 2,044 积分 5,310 来自 四川南充
你还是先在自己的系统了试下把?
第25楼 SXBG 发表于 2006-06-17 15:09
初级用户 发帖 25 积分 62
知道用ghost -dd的功能就是了,写批处理我相信难不到楼主。
第26楼 DOSforever 发表于 2006-06-17 15:38
金牌会员 发帖 2,239 积分 4,639
Originally posted by fujianabc at 2006-6-9 20:37:
gdisk是ghost软件的一个程序 ...

我以前 ghost 一直用 DOS 版的,现在为了想看看这个 gdisk 找了个 Windows 版的安装,是8.3企业版。没想到居然提示我说不能安装在 Win9X 的机器上,甚至 XP home 版的也不行?!我只记得从 ghost 从9.0开始才只能用在 NT 系列的 Windows 上,难道能用在 Win9X 上的最后版是8.2?
第27楼 fastslz 发表于 2006-06-17 15:57
铂金会员 发帖 2,315 积分 5,493 来自 上海
Originally posted by qwe1234567 at 2006-6-17 12:01:
你还是先在自己的系统了试下把?


我是确定没问题了,DOS下、windows下用Ghost32都测试过了,虚拟机里没测试
第28楼 fastslz 发表于 2006-06-17 16:16
铂金会员 发帖 2,315 积分 5,493 来自 上海
Originally posted by DOSforever at 2006-6-17 15:38:

我以前 ghost 一直用 DOS 版的,现在为了想看看这个 gdisk 找了个 Windows 版的安装,是8.3企业版。没想到居然提示我说不能安装在 Win9X 的机器上,甚至 ...



Win9X下用ghost32 (8.3)呀
企业版Ghost 9.0以上版本也就类似于以前的PowerQuest Drive Image
第29楼 DOSforever 发表于 2006-06-17 17:10
金牌会员 发帖 2,239 积分 4,639
Re: fastslz
安装都不让我安装,我怎么用呢?就算你给我个 ghost32 ,并且是8.3版的,能在Win9X下用,但我要的是安装版呐。
第30楼 fastslz 发表于 2006-06-17 18:44
铂金会员 发帖 2,315 积分 5,493 来自 上海
企业版Ghost 9.0 需要安装Microsoft .NET Framework支持的
上一页  1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023