如何使用批处理来确定计算机使用的是 FAT32 还是 NTFS?
如何使用批处理来确定计算机是否使用 FAT32 还是 NTFS,这是否可能。
How can I use batch to determine if a computer is using FAT32 or NTFS and is this even possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
有几种方法可以做到这一点。
一种原始方法是在您感兴趣的卷上运行 chkdsk 并捕获输出。该输出的一部分指示磁盘是否为 NTFS。不幸的是,这超出了您的预期,并且可能需要一些时间。
同样,您可以解析 fsutil fsinfo volumeinfo c:\ 的输出,如下所示:
通过提取文件系统名称,您可以找到您需要的内容。
稍微不那么原始的方法是使用带有 WMI 的 VBScript 来遍历设备数组,检查您感兴趣的每个卷。
Win32_LogicalDisk
类(在 Windows 2000 及以上版本中可用)有一个FileSystem
属性表明了这一点,您可以使用以下代码作为基础:There's a few ways you can do this.
A primitive way is to run
chkdsk
on the volume you're interested in and capture the output. Part of that output indicates whether the disk is NTFS or not. Unfortunately, that does more than what you expect and may take some time.Similarly, you can parse the output of
fsutil fsinfo volumeinfo c:\
which is something like:By extracting the file system name, you could find out what you need.
A slightly less primitive way is to use VBScript with WMI to walk the device array, checking each volume that you're interested in.
The
Win32_LogicalDisk
class (available in Windows 2000 onwards) has aFileSystem
attribute which indicates this and you could use the following code as a basis:看起来尝试在 FAT 卷上使用备用文件流 (
file.name:strmname
) 会失败,那么如何:It looks like attempting to use an alternate file stream (
file.name:strmname
) on a FAT volume fails, so how about:这是一个老问题,但这是我的答案,获取驱动器文件系统,然后将其设置为变量
%DriveType%
将
C:
替换为您选择的驱动器,并根据使用位置使用以下命令之一:用于批处理文件:
用于命令提示符:
This is an old question, but here is my answer to get a drive file system and then set it as a variable
%DriveType%
Replace
C:
with the drive of your choice and use one of the below commands depending on where it's used:For use in a batch file:
For use in the Command Prompt:
试试这个:
Try This:
另一种方式(需要管理员权限):
这将列出所有驱动器的文件系统类型。您可以使用例如“C:”而不是“:”按驱动器进行过滤
One more way (requires admin permissions):
This will list file system type of all drives.You can filter by drive using for instance "C:" instead of ":"