主页 > 知识库 > 用DOS命令判断磁盘分区是否为NTFS格式

用DOS命令判断磁盘分区是否为NTFS格式

热门标签:联通400电话去哪里申请啊 软通动力地图标注专员 汕头外呼crm系统 DOTA地图标注app 绵阳外呼线路 五华销售外呼管理系统电话 百度地图标注地址有什么影响 湖州手机外呼系统 徐州客服外呼系统排名
一同事问起,如何使用命令判断磁盘是否是NTFS格式,以便进行进一步执行相关命令操作,如转换磁盘格式或设置文件/文件夹安全权限。 

  第一反应,可以使用diskpart。经尝试,可以如下使用:

echo list volume>t.txt  diskpart /s t.txt | find "C " >result.txt  del t.txt

 然后使用for语句对输出结果result.txt进行分段判断,但这样的代码看起来过于复杂,而且diskpart只能运行在管理员模式下。

所以使用diskpart命令不太现实。使用cacls进行文件权限设置的时候发现,在运行在非NTFS格式的磁盘上运行会返回1,所以可以如下判断某一磁盘是否为:

cacls c:\&;>nul
if %errorlevel%==1 echo C盘不是NTFS格式

  但如上方法只适用与XP/2003,WIN2000无DISKPART命令,且在非NTFS上运行CACLS返回0,虽然可以使用ver命令输出来判断系统是否为XP/2003,但在WIN2000下使用cacls命令难以判断是否为NTFS格式。也许会说按cacls命令输出为空来判断,那如果那个盘刚好是NTFS格式,但无任何安全权限,那就不好说了。

  编写了一WMI脚本(FileSystem.vbs):

On Error Resume Next

Const wbemFlagReturnImmediately = h10
Const wbemFlagForwardOnly = h20

For Each strComputer In arrComputers

   Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk", "WQL", _
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)

   For Each objItem In colItems
      WScript.Echo objItem.Caption  " "  objItem.FileSystem
   Next
Next

 cscript //nologon filesystem.vbs 可以列出所有盘符的文件系统格式,除了不可用的(如未放光盘的光驱),固可修改批处理如下:

cscript //nologo filesystem.vbs | find "C: NTFS"
if %errorlevel%=1echo C盘不是NTFS格式

您可能感兴趣的文章:
  • 判断分区格式的bat代码

标签:内江 广东 克拉玛依 新余 济南 枣庄 清远 邯郸

巨人网络通讯声明:本文标题《用DOS命令判断磁盘分区是否为NTFS格式》,本文关键词  用,DOS,命令,判断,磁盘,分区,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《用DOS命令判断磁盘分区是否为NTFS格式》相关的同类信息!
  • 本页收集关于用DOS命令判断磁盘分区是否为NTFS格式的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章