中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何判断个盘是否为NTFS格式?
作者:
标题: 如何判断个盘是否为NTFS格式? 上一主题 | 下一主题
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『楼 主』:  如何判断个盘是否为NTFS格式?

如何判断各盘是否为NTFS格式?如果不是则批量转换为NTFS格式,如何实现批量转换?


我只能写成单个盘转换,能否批量判断所有盘,然后再实现批量转换??

::将C盘转换成NTFS格式
convert c:/fs:ntfs

::判断磁盘格式
for /f "tokens=1,2" %%i in ('chkntfs c:^|find /i "NTFS" ') do (
    set var=%%j
    goto type
)
goto over
:over
echo 出错啦!不是NTFS格式耶...马上执行转换....
pause
:type
echo 已经是NTFS格式了,不用转换了!~
pause



逍遥@浪子@反病毒
2008-4-19 18:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 2 楼』:  

fsutil fsinfo volumeinfo c:\

2008-4-19 18:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 3 楼』:  

楼上兄弟,我这个判断语句也可以实现判断,兄弟貌似误会了,我不是要查驱动器类型,查询卷信息,我是想,如果不是NTFS格式则转换为NTFS格式,只是想批量判断并转换..
希望会的兄弟,不吝啬赐教...



逍遥@浪子@反病毒
2008-4-19 21:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 4 楼』:  


wmic logicaldisk get filesystem


2008-4-19 21:47
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 5 楼』:  随便写了段,请自己修改吧:


@echo off&setlocal enabledelayedexpansion
cd\
for /f "delims=:\" %%i in ('fsutil fsinfo drives ^| find "\"') do (
    for /f "delims=" %%a in ('fsutil fsinfo volumeinfo %%i: ^| findstr "系统
名"') do call,set str=%%a&if "!str:~8!"=="FAT32" echo %%i盘不是NTFS格式
)
pause>nul
[ Last edited by zw19750516 on 2008-4-19 at 11:14 PM ]



批处理之家新域名:www.bathome.net
2008-4-19 22:31
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 6 楼』:  

感谢4楼,5楼兄弟的帮忙,4楼能实现批量判断,5楼写的语法错误....
希望能有兄弟写出完整版让我学习学习...



逍遥@浪子@反病毒
2008-4-27 14:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 7 楼』:  

假如要判断C盘:
chkntfs C:|find /v ":"




山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-27 14:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 8 楼』:  

很感谢楼上兄弟,你没能明白我的意思,只是帮我精简代码一样...


我的目的是:如何判断各盘是否为NTFS格式?如果不是则批量转换为NTFS格式,如何实现批量转换?

我只能写成单个盘转换,能否批量判断所有盘,然后再实现批量转换??


::判断磁盘格式
for /f "tokens=1,2" %%i in ('chkntfs c:^|find /i "NTFS" ') do (
    set var=%%j
    goto type
)
goto over
:over
echo 出错啦!不是NTFS格式耶...马上执行转换....
::将C盘转换成NTFS格式
convert c:/fs:ntfs
pause
:type
echo 已经是NTFS格式了,不用转换了!~
pause



逍遥@浪子@反病毒
2008-4-27 15:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
metoo
初级用户





积分 195
发帖 93
注册 2006-10-28
状态 离线
『第 9 楼』:  

以前写的。。用个磁盘探索递归下就能达到效果了
:ntfs
@echo off
title=ntfs转换工具
set pan=
set/p pan=请输入要测试的盘符 (不带冒号)  
if not exist %pan%: echo %pan%盘不存在&goto ntfs
if exist %pan%:\* @for /f "tokens=1,2 delims=。 " %%i in ('chkntfs %pan%:^|@find /v ":"') do (
    echo %pan%的文件系统类型是 %%j
if /i %%j==ntfs goto ntfs
if /i %%j==fat* goto ntfs1)
:ntfs1
set t=
set/p t=是否转换为ntfs? Y(是) ,N(否)...
@echo off
if /i "%t%"=="n" goto ntfs
if /i "%t%"=="y" convert %pan%:/fs:ntfs&goto ntfs


2008-4-27 16:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 10 楼』:  

感谢楼上兄弟热情分享,谢谢了!~



逍遥@浪子@反病毒
2008-4-27 16:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 11 楼』:  

改一下 5 楼的:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('fsutil fsinfo drives^|find "\"') do (
    set str=%%i
    call chkntfs %%str:~-3,1%%:|findstr "FAT32">nul&&call echo %%str:~-3,1%%盘不是NTFS格式
)
pause




2008-4-27 17:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: