如何使用DOS命令判断磁盘分区是否为NTFS格式
来源:互联网 发布:app软件如何制作 编辑:程序博客网 时间:2024/05/16 18:33
一同事问起,如何使用命令判断磁盘是否是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 = &h20For 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格式
- 如何使用DOS命令判断磁盘分区是否为NTFS格式
- dos命令映射文件夹为虚拟磁盘分区
- 如何判断字符串是否为GUID格式
- 命令更改硬盘为NTFS格式
- 在DOS里把系统盘转换为NTFS格式
- 磁盘fat转ntfs格式的dos命令
- 判断是否为邮箱格式
- 判断格式是否为邮箱
- 如何使用DOS命令
- rhel5.3挂载ntfs格式的磁盘分区
- 如何将磁盘从FAT格式转换为NTFS格式
- 如何将FAT32格式转换为NTFS格式(一)
- 如何将FAT32格式转换为NTFS格式(二)
- 如何将磁盘从FAT格式转换为NTFS格式
- Lucene中如何判断是否使用cfs格式
- 模板的使用:如何判断参数是否为一个类
- 如何使用JavaScript来判断是否为移动设备
- 如何使用JavaScript来判断是否为移动设备
- ASP.NET中使用基类库
- 讲话陈腔烂调
- .NET系统学习----Globalization & Resources
- 勇敢说:「要求加薪」,不必低声下气(上)
- 构建安全的 Web Services
- 如何使用DOS命令判断磁盘分区是否为NTFS格式
- 勇敢说:「要求加薪」,不必低声下气(下)
- GHOST的用法件
- 海盗抢宝石
- XML格式化输出到文件
- 后台撰写、编辑文章操作技巧
- 两类经典的软件测试方法和测试心态
- 总结Exchange同步事件与异步事件
- 关于连接查询的一些看法