我需要知道如何在不使用fsutil
PowerShell脚本的情况下获取驱动器号(例如C :)的扇区大小。Batch和VBS也可以接受。
该fsutil
工具非常适合此操作,因为它返回了我需要的确切数据:
fsutil fsinfo ntfsinfo C:
NTFS Volume Serial Number : 0x32946b93946b587d
NTFS Version : 3.1
LFS Version : 2.0
Number Sectors : 0x000000003a0b6c84
Total Clusters : 0x0000000007416d90
Free Clusters : 0x00000000010a9da5
Total Reserved : 0x0000000000002c98
Bytes Per Sector : 512
Bytes Per Physical Sector : 512
Bytes Per Cluster : 4096
Bytes Per FileRecord Segment : 1024
--- etc ---
但是,我在使用许多不同Windows语言的环境中使用此脚本,Microsoft 出于其无穷的智慧决定翻译输出:
fsutil fsinfo ntfsinfo c:
NTFS-Volumeseriennummer : 0xdc7ccd5b7ccd3156
NTFS-Version : 3.1
LFS-Version : 2.0
Anzahl der Sektoren : 0x0000000004eec7ff
Gesamtzahl Cluster : 0x00000000009dd8ff
Freie Cluster : 0x000000000059183d
Insgesamt reserviert : 0x000000000000430e
Bytes pro Sektor : 512
Bytes pro physischem Sektor : 512
Bytes pro Cluster : 4096
Bytes pro Dateidatensatzsegment : 1024
--- usw ---
我需要的信息-每个扇区的字节数-似乎无法从WMI中获得,因此我可以说“给我C的数据”,并尝试将磁盘级数据与卷级数据配对以尝试并拼凑查询失败。
我会对行号进行硬编码以从中获取数据,但是在fsutil
Windows的各个版本中,从中返回的数据量并不一致。以上两个示例均取自Windows 10设备,我需要的数据位于第8行,而在Windows 7设备上则位于第7行。
有谁知道我获取这种数据的方式,以使i18n不会干扰它?唯一的选择是对我需要的数据的行号进行硬编码,并为我正在运行的Windows版本进行调整,这是不可靠的。
我正在寻找“每个扇区的字节数”,而不是“每个物理扇区的字节数”值。