无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 11308|回复: 27
打印 上一主题 下一主题

一分钟内自动硬盘分区DOS批处理脚本

[复制链接]
跳转到指定楼层
1#
发表于 2005-1-26 00:04:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[这个贴子最后由turboy在 2005/01/26 09:15pm 第 1 次编辑]

  这是我给一个开装机店的朋友写的一个DOS批处理脚本,用途是按一定的规则自动为新硬盘分区并格式化,运行时数十G的硬盘只中不到一分钟就分区并格式化好了,其中使用到了几个工具:
  GDISK.EXE GHOST软件包中附带的一个基于命令行的分区工具,功能强大
  STRINGS.EXE 这是一个DOS批处理增强程序
  XZL.COM 袖珍龙——这是我所见过的最小巧的DOS汉字系统了,才53KB
  这些软件,在“中国DOS联盟”中都可以下载,也有用法介绍。下面是代码:
@ECHO OFF
:L_CCDOS
XZL
CLS
REM 检查硬盘参数
CALL HDSTATUS.BAT
ECHO             *------------------------------------------------*
ECHO             *        易老师自动分区工具 1.0                  *
ECHO             *------------------------------------------------*
ECHO             此计算机中所安装硬盘信息如下:
ECHO                     硬盘编号: %HD%
ECHO                       总容量: %HDSIZE%
ECHO                   现有分区数: %PARTS%
ECHO             警告:
ECHO                 分区是一个危险的操作, 下面的程序将导致硬盘中的
ECHO             所有数据丢失。故此程序只供专业技术人员使用,其他人
ECHO             员错误操作造成的损失与作者无关!
ECHO             *------------------------------------------------*
ECHO             全自动分区公式  C:8GB + D:40%% + E:30%% + F:30%%
REM 计算各分区大小
STRINGS EXTSIZE= SUB %HDSIZE%,8000
STRINGS EXTSIZE= DIV %EXTSIZE%,10
STRINGS HDPARTD= MUL %EXTSIZE%,4
STRINGS HDPARTE= MUL %EXTSIZE%,3
STRINGS HDPARTF= SUB %HDSIZE%,8000,%HDPARTD%,%HDPARTE%
ECHO             当前方案 %HDSIZE%= C:8000M + D:%HDPARTD%M + E:%HDPARTE%M + F:%HDPARTF%M
ECHO             *------------------------------------------------*
ECHO                 输入“auto”开始全自动分区
ECHO                 输入“hand”开始手动分区
ECHO                 输入其他值退出
ECHO             *------------------------------------------------*
STRINGS CHOICE= ASK ------------请慎重考虑后再输入你的选择:
STRINGS CHOICE= UPPER %CHOICE%
IF %CHOICE%#==AUTO# GOTO AUTO
IF %CHOICE%#==HAND# GOTO HAND
GOTO END
:AUTO
GDISK %HD% /DEL /ALL
GDISK %HD% /CRE /PRI /SZ:8000 /FOR /Q /V:SYSTEM
GDISK %HD% /CRE /EXT
GDISK %HD% /CRE /LOG /SZ:%HDPARTD% /FOR /Q /V:DATA
GDISK %HD% /CRE /LOG /SZ:%HDPARTE% /FOR /Q /V:OTHER
GDISK %HD% /CRE /LOG /FOR /Q /V:BACKUP
SET HDPARTD=
SET HDPARTE=
SET HDPARTF=
GOTO OK
:HAND
REM C盘
STRINGS HDPARTC= ASK 请输入%PCHAR%盘容量(最大%hdsize%MB):
GDISK %HD% /DEL /ALL
GDISK %HD% /CRE /PRI /SZ:%HDPARTC% /FOR /Q /V:SYSTEM
GDISK %HD% /CRE /EXT
REM D盘、E……
SET PNO=68
STRINGS MAXSIZE= SUB %HDSIZE%,%HDPARTC%
:P2_LOOP
STRINGS PCHAR= CHAR %PNO%
STRINGS ASKSIZE= ASK 请输入%PCHAR%盘容量(单位MB,直接回车建最大%MAXSIZE%):
IF %ASKSIZE%#==# GOTO P2_OK
GDISK %HD% /CRE /LOG /SZ:%ASKSIZE% /FOR /Q /V:LOG_%PCHAR%
STRINGS MAXSIZE= SUB %MAXSIZE%,%ASKSIZE%
STRINGS PNO= ADD %PNO%,1
GOTO P2_LOOP
:P2_OK
GDISK %HD% /CRE /LOG /FOR /Q /V:LOG_%PCHAR%
SET ASKSIZE=
SET MAXSIZE=
SET PNO=
SET PCHAR=
SET HDPARTC=
GOTO OK
:OK
GDISK %HD% /ACT /P:1
GDISK %HD% /MBR
ECHO 分区完成!请启动计算机,安装操作系统。
SET HDSIZE=
SET HDPART=
PAUSE>NUL
XZL /Q
GOTO END
:END
ECHO 已退出

不好意思,昨天太晚忘了,现在补上。这就是HDSTATUS.BAT的内容,主要就是利用GDISK来探测出硬盘的容量等参数,并依此设置相应的环境变量供AUTODISK.BAT使用。
HDSTATUS.BAT
@ECHO OFF
IF %1#==SETVAR# GOTO SETVAR
STRINGS TMPS= RIGHT %TMP%,1
SET TMPFILE=\HDSTATUS.TXT
IF %TMPS%#==\# SET TMPFILE=HDSTATUS.TXT
SET TMPS=%TMP%%TMPFILE%
SET TMPFILE=
SET LL=1
GDISK /STATUS>%TMPS%
:LOOP
  STRINGS HDS= READ %TMPS%,%LL%
  STRINGS TMPSTR= MID %HDS%,1,4
  STRINGS LL= ADD %LL%,1
  IF ';%TMPSTR%';==';Disk'; GOTO FOUND
  GOTO LOOP
:FOUND
STRINGS HDS= READ %TMPS%,%LL%
SET TMPSTR=
SET TMPS=
SET LL=
CALL %0 SETVAR %HDS%
GOTO END
:SETVAR
SET HDS=
SET HD=%2
SET PARTS=%3
SET HDSIZE=%7
:END


这里是源代码和工具: autofdisk.part1.rar (200 KB, 下载次数: 817) autofdisk.part2.rar (172.31 KB, 下载次数: 582)

[ 本帖最后由 turboy 于 2007-4-8 08:42 PM 编辑 ]
2#
发表于 2005-1-26 09:32:08 | 只看该作者

一分钟内自动硬盘分区DOS批处理脚本

.....
回复

使用道具 举报

3#
发表于 2005-1-26 16:23:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

4#
发表于 2005-1-26 19:14:39 | 只看该作者

一分钟内自动硬盘分区DOS批处理脚本

[这个贴子最后由peijian在 2005/01/26 07:17pm 第 1 次编辑]

好文章!!!!!, 另外HDSTATUS.BAT还没解释是什么内容哦
回复

使用道具 举报

5#
发表于 2005-1-26 20:14:12 | 只看该作者

一分钟内自动硬盘分区DOS批处理脚本

好,顶。
回复

使用道具 举报

6#
 楼主| 发表于 2005-1-26 21:13:46 | 只看该作者

一分钟内自动硬盘分区DOS批处理脚本

不好意思,昨天太晚忘了,现在补上。这就是HDSTATUS.BAT的内容,主要就是利用GDISK来探测出硬盘的容量等参数,并依此设置相应的环境变量供AUTODISK.BAT使用。
HDSTATUS.BAT
@ECHO OFF
IF %1#==SETVAR# GOTO SETVAR
STRINGS TMPS= RIGHT %TMP%,1
SET TMPFILE=\HDSTATUS.TXT
IF %TMPS%#==\# SET TMPFILE=HDSTATUS.TXT
SET TMPS=%TMP%%TMPFILE%
SET TMPFILE=
SET LL=1
GDISK /STATUS>%TMPS%
:LOOP
  STRINGS HDS= READ %TMPS%,%LL%
  STRINGS TMPSTR= MID %HDS%,1,4
  STRINGS LL= ADD %LL%,1
  IF ';%TMPSTR%';==';Disk'; GOTO FOUND
  GOTO LOOP
:FOUND
STRINGS HDS= READ %TMPS%,%LL%
SET TMPSTR=
SET TMPS=
SET LL=
CALL %0 SETVAR %HDS%
GOTO END
:SETVAR
SET HDS=
SET HD=%2
SET PARTS=%3
SET HDSIZE=%7
:END
回复

使用道具 举报

7#
发表于 2005-1-26 22:33:25 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

8#
发表于 2005-1-26 23:06:04 | 只看该作者

一分钟内自动硬盘分区DOS批处理脚本

可以选择分区大小吗?
回复

使用道具 举报

9#
 楼主| 发表于 2005-1-26 23:07:46 | 只看该作者

一分钟内自动硬盘分区DOS批处理脚本

上面有手动的选项呀,运行后,输入“auto”就会全自动;输入“hand”就可以手动,然后一个一个的输入分区大小,就可以了。只是C盘固定为8G,因为我为那朋友设计的家用机分区差不多这样就好了。
回复

使用道具 举报

10#
发表于 2005-1-27 09:30:09 | 只看该作者

一分钟内自动硬盘分区DOS批处理脚本

用ghost刻好一个分好区的空盘镜象,再GHOST到没分区的硬盘上那不更快?
回复

使用道具 举报

11#
发表于 2005-1-27 10:46:07 | 只看该作者

一分钟内自动硬盘分区DOS批处理脚本

请楼主上传STRINGS.EXE
回复

使用道具 举报

12#
发表于 2006-11-8 13:50:01 | 只看该作者
turboy 大侠什么时候再把它修改一下,让它真正能用。


                                                 谢谢!
回复

使用道具 举报

13#
发表于 2006-11-22 14:54:54 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

14#
发表于 2006-11-22 17:12:28 | 只看该作者
汗~我看不明白这些批处理命令~建议搞个软件来下载研究下!!
回复

使用道具 举报

15#
发表于 2006-11-22 17:55:12 | 只看该作者
好方法,这下新硬盘分区方便多了
回复

使用道具 举报

16#
发表于 2006-11-22 18:05:45 | 只看该作者
还可以,收藏
回复

使用道具 举报

17#
发表于 2006-11-23 17:24:07 | 只看该作者
不错,谢谢,下了收藏!!!
回复

使用道具 举报

18#
发表于 2006-11-23 17:49:07 | 只看该作者
弄个IMG出来下载试试...懒得去到处找了
回复

使用道具 举报

19#
发表于 2006-11-23 20:11:35 | 只看该作者
楼主的批处理构思确实好,但是我下下来之后却发现少这少那的,希望你能打包上传一下,让我们一堵风采
回复

使用道具 举报

20#
发表于 2006-11-25 20:24:51 | 只看该作者
怎么有表情在
回复

使用道具 举报

21#
发表于 2006-11-25 23:19:54 | 只看该作者
好像很方便的样子
回复

使用道具 举报

22#
发表于 2006-11-30 08:58:57 | 只看该作者
ghost 只能按比例来分区吧~~~
还是楼主的比较实用
回复

使用道具 举报

23#
发表于 2007-4-8 09:31:22 | 只看该作者
已阅,顶!!!!!!!!!!!!!!!!
回复

使用道具 举报

24#
 楼主| 发表于 2007-4-8 20:46:36 | 只看该作者
看到这么多人还在关心,就把那些东西全翻出来贴到1楼里供朋友们下载。
回复

使用道具 举报

25#
发表于 2007-4-8 23:09:44 | 只看该作者
路过哦.顶一下.!!
回复

使用道具 举报

26#
发表于 2007-4-9 12:05:46 | 只看该作者
好东东下载中..........
回复

使用道具 举报

27#
发表于 2020-12-21 04:29:12 | 只看该作者
顶下先,这东东,完成自动部署不错
回复

使用道具 举报

28#
发表于 2020-12-31 04:43:30 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-19 20:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表