如何通过windows shell(bat,cmd)获取系统上的驱动器号列表?

Chr*_*son 28 windows batch-file windows-command-prompt

如何通过 bat 文件获取 Windows 系统上的驱动器号列表及其相关标签?

EBG*_*een 41

这将获得大部分:

Net Use
Run Code Online (Sandbox Code Playgroud)

如果您有任何通过 subst 映射的驱动器,您还需要获取这些驱动器:

Subst
Run Code Online (Sandbox Code Playgroud)

为了完整起见,您可以在 Powershell 中这样做(如果您使用的是 Windows 7 或已安装它):

gwmi win32_LogicalDisk -filter DriveType=4
Run Code Online (Sandbox Code Playgroud)

您也可以从命令提示符或使用 WMI 的批处理文件执行此操作,如下所示:

wmic logicaldisk get caption,providername,drivetype,volumename
Run Code Online (Sandbox Code Playgroud)

  • wmic 解决方案应该给你一切。 (2认同)

小智 15

要使用diskpart,不需要创建中间文件。尝试:

echo list volume | diskpart
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的答案,并以漂亮的格式返回有关已安装驱动器的最多信息。 (2认同)

Dha*_*rdi 10

@echo off
cls
setlocal enabledelayedexpansion
set "_DRIVE.LETTERS.FREE=Z Y X W V U T S R Q P O N M L K J I H G F E D C B A "
for /f "skip=1 tokens=1,2 delims=: " %%a in ('wmic logicaldisk get deviceid^,volumename') do (
   set "_DRIVE.LETTERS.USED=!_DRIVE.LETTERS.USED!%%a,%%b@"
   set "_DRIVE.LETTERS.FREE=!_DRIVE.LETTERS.FREE:%%a =!"
)
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:~0,-2%
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:,@=, @%
set _DRIVE.LETTERS
Run Code Online (Sandbox Code Playgroud)

快速、灵活、高效。虽然有点复杂。


小智 7

灵感来自斯科特

for %i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @%i: 2>nul && set/pz=%i <nul
Run Code Online (Sandbox Code Playgroud)

还显示 CD 驱动器号和网络安装的磁盘号。无需管理员权限。


小智 5

如果有人足够幸运能够使用 Vista(在我的例子中为 Vista Ultimate SP2 b6002)并且此处给出的gwmiwmic片段不能完全正常工作,那么我就是这样做的。

对于gwmi,如果没有收到输出,请尝试将 DriveType 更改为 3。如果仍然有问题,请完全删除 -filter 选项并分析输出。

gwmi win32_LogicalDisk -filter DriveType=3
Run Code Online (Sandbox Code Playgroud)

对于wmic,如果您收到“无效的 GET 表达式”,请尝试将get表达式放在引号中:

wmic logicaldisk get "caption,providername,drivetype,volumename"
Run Code Online (Sandbox Code Playgroud)


Jad*_*ias 5

mountvol
Run Code Online (Sandbox Code Playgroud)

样本输出

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   *** NO MOUNTING POINT ***

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   D:\

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   C:\

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   E:\
Run Code Online (Sandbox Code Playgroud)