Есть несколько способов сделать это.
Примитивный способ - запустить chkdsk
на томе, который вас интересует, и захватить вывод.Часть этого вывода указывает, является ли диск NTFS или нет.К сожалению, это больше, чем вы ожидаете, и может занять некоторое время.
Аналогично, вы можете проанализировать вывод fsutil fsinfo volumeinfo c:\
, который выглядит примерно так:
Volume Name : Primary
Volume Serial Number : 0x4f70e7b
Max Component Length : 255
File System Name : NTFS
Supports Case-sensitive filenames
Preserves Case of filenames
Supports Unicode in filenames
Preserves & Enforces ACL's
Supports file-based Compression
Supports Disk Quotas
Supports Sparse files
Supports Reparse Points
Supports Object Identifiers
Supports Encrypted File System
Supports Named Streams
Извлекая файлИмя системы, вы можете узнать, что вам нужно.
Несколько менее примитивный способ - использовать VBScript с WMI для обхода массива устройств, проверяя каждый интересующий вас том.
Класс Win32_LogicalDisk
(доступен в Windows 2000 и более поздних версиях) имеет атрибут FileSystem
, который указывает на это, и вы можете использовать следующий код в качестве основы:
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colVols = objWMIService.ExecQuery ("select * from Win32_LogicalDisk")
For Each objVol in colVols
MsgBox objVol.Name & " : " & objVol.FileSystem
Next