• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    用DOS命令判断磁盘分区是否为NTFS格式
    一同事问起,如何使用命令判断磁盘是否是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代码
    上一篇:使用FTP下载目录,即FTP命令批量自动下载的bat文件
    下一篇:不错的dos批处理命令详解第1/2页
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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