中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 如何用DOS的批处理自动格式化NTFS的分区
作者:
标题: 如何用DOS的批处理自动格式化NTFS的分区 上一主题 | 下一主题
yojainika
新手上路





积分 6
发帖 2
注册 2007-5-24
状态 离线
『楼 主』:  如何用DOS的批处理自动格式化NTFS的分区

服务器的分区多,定期整理时格式化太多步骤,能写一个批处理,让它自己一个个的全部格式化掉所有分区```

2007-7-1 10:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 2 楼』:  

sorry sorry
没细看,:-)

[ Last edited by wudixin96 on 2007-7-1 at 12:59 PM ]

2007-7-1 11:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by wudixin96 at 2007-7-1 11:31:
类似这样?
for %%i in (c d e f g h) do @format %%i:

注意楼主要格的是NTFS分区,呵呵。
可看看gdisk。



Windows 一键还原
http://www.yjhy.com
2007-7-1 12:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yojainika
新手上路





积分 6
发帖 2
注册 2007-5-24
状态 离线
『第 4 楼』:  

是不是把二楼的直接复制成BAT文件然后运行,就能自动格式化掉所有分区啊

2007-7-2 10:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 5 楼』:  

不可以。



Windows 一键还原
http://www.yjhy.com
2007-7-2 10:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『第 6 楼』:  

我想楼主的想法不应是在纯DOS下的,只要不是在纯DOS下就可以!!!
格式化格式化指定卷中的磁盘以接受 Windows 文件。

语法
format volume [/fs:file-system] [/v:label] [/q] [/a:UnitSize] [/c] [/x]

format volume [/v:label] [/q] [/f:size]

format volume [/v:label] [/q] [/t:tracks /n:sectors]

format volume [/v:label] [/q]

format volume [/q]

参数
volume
指定要格式化的驱动器的装入点、卷名或驱动器号。如果不指定以下的任何命令行选项,format 将使用卷类型来决定磁盘的默认格式。
/fs:file-system
指定要使用的文件系统:FAT、FAT32 或 NTFS。软盘只能使用 FAT 文件系统。
/v:label
指定卷标。如果省略 /v 命令行选项或使用它而不指定卷标,format 将在格式化完成后提示输入卷标。使用语法 /v:来防止提示输入卷标。如果利用一个 format 命令格式化多个磁盘,则对所有磁盘指定相同的卷标。有关磁盘卷标的详细信息,请单击“相关主题”列表中的 Dir、Label 和 Vol。
/a:UnitSize
指定要在 FAT、FAT32 或 NTFS 卷上使用的分配单位大小。如果没有指定 UnitSize,将根据卷的大小进行选择。下表列出了 UnitSize 的有效值。 值 说明
512 每个簇 512 字节。
1024 每个簇 1024 字节。
2048 每个簇 2048 字节。
4096 每个簇 4096 字节。
8192 每个簇 8192 字节。
16K 每个簇 16K 字节。
32K 每个簇 32K 字节。
64K 每个簇 64K 字节。

/q
执行快速格式化。删除以前已格式化卷的文件表和根目录,但不在扇区之间扫描损坏区域。使用 /q 命令行选项应该仅格式化以前已格式化的完好的卷。

当然系统盘是不可以的!!

[ Last edited by lotus516 on 2007-7-2 at 01:15 PM ]

2007-7-2 13:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NEWDOS
初级用户





积分 25
发帖 10
注册 2007-7-2
状态 离线
『第 7 楼』:  

只要判定是NTFS就可以

2007-7-2 13:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NEWDOS
初级用户





积分 25
发帖 10
注册 2007-7-2
状态 离线
『第 8 楼』:  

用compact试试吧

2007-7-2 13:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NEWDOS
初级用户





积分 25
发帖 10
注册 2007-7-2
状态 离线
『第 9 楼』:  

对了,还有前面写的别把系统盘符也加进去,哈哈

2007-7-2 13:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 10 楼』:  

不是说dos批处理吗?楼主没搞明白dos是啥,就出题?呵呵。



Windows 一键还原
http://www.yjhy.com
2007-7-2 20:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
shanliang8008
银牌会员




积分 1148
发帖 514
注册 2007-6-1
来自 河北
状态 离线
『第 11 楼』:  

低格吧  比较狠

[ Last edited by shanliang8008 on 2007-7-3 at 05:01 AM ]

2007-7-3 04:58
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
shanliang8008
银牌会员




积分 1148
发帖 514
注册 2007-6-1
来自 河北
状态 离线
『第 12 楼』:  

有人在虚拟机里用过DM吗

2007-7-3 05:05
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
DXSX
中级用户





积分 247
发帖 147
注册 2009-4-9
状态 离线
『第 13 楼』:  

用gdisk实现dos下自动格式化c:以外的所有分区(包括ntfs)


如果启动的是还原分区上的dos系统,那还原系统所在分区一定是c:
有的时候用ghost或者TI 等还原系统前,需要自动格式化还原系统所在分区以外的全部分区,以避免其他分区的病毒在进入系统的时候再次感染。而dos下用软件手动对ntfs分区的格式化有很些麻烦,可如果不格式化,一旦这些ntfs分区上有病毒呢?
所以考虑编辑此脚本,利用awk分析分区结构,用gdisk格式化除c盘以外的全部分区,NTFS分区仍然被格式化成NTFS格式。
gdf2 1 表示对第一硬盘操作
gdf2 2 表示对第二硬盘操作

gdf2.bat 代码如下:注意红色部分是GDISK命令,我已经用 ECHO 注释掉,如果真实情况下需要运行本脚本,必须把前面的ECHO去掉。
@echo off
cls
set d=%1
if *%1*==** set d=1
echo Format all partitions in HD%D% ,but C: !
echo Please wait....
gdisk %d%|awk 'substr($0,20,3)=="LOG"&&substr($0,2,2)!="C:";substr($0,20,3)=="PRI"&&substr($0,2,2)!="C:"'>gdf1.txt
if exist gdf1.txt type gdf1.txt
awk 'substr($0,53,10)!~"NTFS" {print "/del /p:"substr($0,6,1)" /y";print "/cre /"substr($0,20,3)" /for /Q /Y" }' gdf1.txt>gdf2.txt
awk 'substr($0,53,10)~"NTFS" {print "/del /p:"substr($0,6,1)" /y";print "/cre /"substr($0,20,3)" /For /NTFS /Q /Y" }' gdf1.txt>>gdf2.txt
awk '{if (substr($0,15,1)=="A") print "/act /p:"substr($0,6,1)" /y"}' gdf1.txt>>gdf2.txt
if exist gdf1.txt del gdf1.txt
echo.
if not exist gdf2.txt goto end
type gdf2.txt
pause
echo gdisk %d% /batch:gdf2.txt
del gdf2.txt
:end
set d=

--------------------------
脚本解读:
1、用awk分析gdisk得到的硬盘分区列表,将c盘以外的逻辑分区和主引导分区信息传递给文件gdf1.txt,并显示gdf1.txt
2、用awk分析gdf1.txt,找出分区格式不是ntfs的分区,把删除这些分区和重建并格式化这些分区的gdisk脚本命令传递给文件gdf2.txt
3、用awk分析gdf1.txt,找出分区格式是ntfs的分区,把删除这些分区和重建并格式化这些分区的gdisk脚本命令追加给文件gdf2.txt
4、用awk分析gdf1.txt,找出激活状态的分区,把激活这些分区的gdisk脚本命令追加给文件gdf2.txt
5、用gdisk调用 gdf2.txt 中的指令。
全程用到2个文本文件gdf1.txt,gdf2.txt和一个环境变量%d%
gdf1.txt---------存放硬盘上除了c盘以外的分区列表
gdf2.txt---------存放gdisk调用的脚本指令
%d%-------------用于存放待操作硬盘的编号

http://bbs.wuyou.com/viewthread.php?tid=158594&extra=page%3D1
http://bbs.wuyou.com/viewthread.php?tid=158553&extra=page%3D1

[ Last edited by DXSX on 2010-1-7 at 10:44 ]

2010-1-7 10:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: