无忧启动论坛

标题: 送50话费!如何在纯DOS下查看盘所有分区是什么格式 请看内容! [打印本页]

作者: 2011275081672    时间: 2011-2-12 11:53
标题: 送50话费!如何在纯DOS下查看盘所有分区是什么格式 请看内容!
在纯DOS下怎么达到以下目的:
自动查看所有硬盘分区格式 如果所有盘格式是NTFS就执行1.bat  如果其他就执行2.bat(例如是第一个分区是NTFS 其他是FAT32)。
求个高手指教 如果成功实现留下手机号码 送50话费谢谢!

如何编写命令 麻烦懂的也写上 然后留下号码 谢谢

[ 本帖最后由 2011275081672 于 2011-2-12 12:41 编辑 ]
作者: lianjiang    时间: 2011-2-12 12:28
找一个磁盘工具,比如gdisk,dspt等支持命令行的工具,取得硬盘信息,然后判断是否存在ntfs分区。
作者: zhaohj    时间: 2011-2-12 12:30
可以借助第三方工具,如diskrw、dpit
你自己搜索一下。
作者: 2010ingxii    时间: 2011-2-12 14:23
话费什么的都免了吧,
不知道你具体是个啥环境,不过DOS一般默认是不认NTFS格式的嘛 ,所以随便写一下,给你可以参考下:



:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
for %%i in (c,d,e,f,g,h,i,j,k,l,m,n,n,o,p,q,r,s,t,u,v,w,x,y,z) if exist %%i:\*.* goto a
ntdos.exe
for %%i in (c,d,e,f,g,h,i,j,k,l,m,n,n,o,p,q,r,s,t,u,v,w,x,y,z) if exist %%i:\*.* goto b
echo No disk!
goto end

:b
1.bat
goto end

:a
2.bat

:end
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



有U盘或者光盘应该就不适用啦....

[ 本帖最后由 2010ingxii 于 2011-2-12 14:27 编辑 ]
作者: 2010web918    时间: 2011-2-12 14:44
呵呵。学习学习。。。
作者: sgw888    时间: 2011-2-13 12:17
建议楼主研究学习一下GGHOST就搞定了。
作者: 2010lhy6456210    时间: 2011-2-19 01:20
标题: 回复 #4 2010ingxii 的帖子
思路很好,我怎么就想不起呢
作者: 2011gaodb    时间: 2011-2-19 13:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: yongge9999    时间: 2011-3-7 14:09
借用其它软件如omnifs.exe (Ghost 组件),  DOS下使用
omnifs  /dl=1 diskinfo>pan.txt  
type pan.txt
作者: dos时代菜鸟    时间: 2011-3-7 16:02
涉及软件 Gdisk.exe 11 和 Awk
相关脚本 disks1.bat 和 disks1.awk
运行方法:把你的 1.bat /2.bat /disks1.bat /disks1.awk /gdisk.exe /awk.exe 都放到一个文件夹中,然后运行 disks1.bat ,运行脚本前请运行汉字系统。

脚本功能判断当前多个硬盘的全部分区是否全为 ntfs 如果是就运行 1.bat 否则运行 2.bat

disks1.bat 内容:
-----------------
@echo off
if not %1*==* goto s2
if exist gd.txt del gd.txt
cls
echo 正在获取硬盘分区信息,请等待....
gdisk |awk 'NF>0 && $1!="Disk" && $1!="No" {print "call disks1.bat "$1}' >disksx.bat
call disksx.bat
del disksx.bat
awk -f disks1.awk gd.txt>gd.bat
del gd.txt
call gd.bat
del gd.bat
goto end

:s2
echo 正在分析硬盘 #%1 ...
gdisk %1 >>gd.txt
goto _end2
:end

:_end2

-----------------------------
disks1.awk 内容:
------------------
BEGIN {}
{if ((substr($0,20,7)=="PRIMARY") || (substr($0,20,7)=="LOGICAL") ) fs()}
END {
if (allntfs=="no") { print "call 2.bat"  }
if (allntfs!="no") { print "call 1.bat"  }
}

function fs() {if (substr($0,53,4)!="NTFS" ) allntfs="no" }
-----------------------------------

脚本运行原理:
通过 调用 gdisk 获取硬盘个数,并将每个硬盘的分区情况传递给文件 gd.txt
通过 awk 调用 disks1.awk 分析 gd.txt 内容,判断出分区是否全为 ntfs ,如果是,就生成调用 1.bat 的批处理脚本 gd.bat ,否则生成调用 2.bat 的批处理脚本 gd.bat
最后调用 gd.bat


[ 本帖最后由 dos时代菜鸟 于 2011-3-7 16:38 编辑 ]
作者: hbwazxf    时间: 2011-3-8 10:58
4楼的很强大。学习了。。
作者: mrwang123    时间: 2011-3-14 11:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: dopodfan    时间: 2011-3-29 12:56
呵呵,这里高手多啊,继续关注
作者: 2011百喜    时间: 2011-3-29 23:59
有几楼都是高手
学习一下编写命令
作者: shwk88888    时间: 2011-6-4 10:34
向高手们学习一下,哈哈
作者: 2011fengjuang    时间: 2011-6-15 23:33
思路很好,我怎么就想不起呢




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3