用DOS命令判断磁盘分区是否为NTFS格式
作者 佚名
来源 批处理
浏览
发布时间 2013-07-09
一同事问起,如何使用命令判断磁盘是否是NTFS格式,以便进行进一步执行相关命令操作,如转换磁盘格式或设置文件/文件夹安全权限。 第一反应,可以使用diskpart。经尝试,可以如下使用: echolistvolume>t.txt&&diskpart/st.txt|find"C">result.txt&&delt.txt 然后使用for语句对输出结果result.txt进行分段判断,但这样的代码看起来过于复杂,而且diskpart只能运行在管理员模式下。 所以使用diskpart命令不太现实。使用cacls进行文件权限设置的时候发现,在运行在非NTFS格式的磁盘上运行会返回1,所以可以如下判断某一磁盘是否为: caclsc:\>nul if%errorlevel%==1echoC盘不是NTFS格式 但如上方法只适用与XP/2003,WIN2000无DISKPART命令,且在非NTFS上运行CACLS返回0,虽然可以使用ver命令输出来判断系统是否为XP/2003,但在WIN2000下使用cacls命令难以判断是否为NTFS格式。也许会说按cacls命令输出为空来判断,那如果那个盘刚好是NTFS格式,但无任何安全权限,那就不好说了。 编写了一WMI脚本(FileSystem.vbs): OnErrorResumeNext ConstwbemFlagReturnImmediately=&h10 ConstwbemFlagForwardOnly=&h20 ForEachstrComputerInarrComputers SetobjWMIService=GetObject("winmgmts:\\.\root\CIMV2") SetcolItems=objWMIService.ExecQuery("SELECT*FROMWin32_LogicalDisk","WQL",_ wbemFlagReturnImmediately+wbemFlagForwardOnly) ForEachobjItemIncolItems WScript.EchoobjItem.Caption&""&objItem.FileSystem Next Next cscript//nologonfilesystem.vbs可以列出所有盘符的文件系统格式,除了不可用的(如未放光盘的光驱),固可修改批处理如下: cscript//nologofilesystem.vbs|find"C:NTFS" if%errorlevel%=1echoC盘不是NTFS格式 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于用DOS命令判断磁盘分区是否为NTFS格式的所有评论