如何使用标签访问usb驱动器并使用CMD导航



我想知道是否可以使用usb驱动器的标签访问它,例如我可以使用PowerShell导航到驱动器,但我想知道如何在CMD 中执行类似的操作

$usbPath = Get-WMIObject Win32_Volume | ? { $_.Label -eq 'volumelabel' } | select name ; cd $usbPath.name 

加载wmic最简单、更快的方法是使用VOL命令

cmd

For %G 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 @Vol %G: 2>NUL|%__AppDir__%find.exe /I "volumelabel">NUL&&CD /D %G:

批处理文件

@For %%G 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 @Vol %%G: 2>NUL | %__AppDir__%find.exe /I "volumelabel" >NUL && CD /D %%G:

不只是检查每个可能的驱动器号,您可以使用MountVol:将其减少为仅安装的驱动器号

来自cmd:

For /F "Delims= " %G In ('"%__AppDir__%mountvol.exe 2>NUL|%__AppDir__%find.exe ":""') Do @Vol %G 2>NUL|%__AppDir__%find.exe /I "volumelabel">NUL&&CD /D %G

从批处理文件

@For /F "Delims= " %%G In ('"%__AppDir__%mountvol.exe 2>NUL|%__AppDir__%find.exe ":""'
) Do @Vol %%G 2>NUL | %__AppDir__%find.exe /I "volumelabel" >NUL && CD /D %%G

如果您仍然想使用wmi,并且您有足够的权限使用`Path Win32_Volume`,*(或其别名`Volume`(*,那么…来自cmd:

For /F "Skip=1Tokens=2" %G In ('%__AppDir__%wbemWMIC.exe Volume Where "Label='volumelabel'" Get DriveLetter^,Name 2^>NUL')Do @CD /D %G

从一个批处理文件:

@For /F "Skip=1 Tokens=2" %%G In (
'%__AppDir__%wbemWMIC.exe Volume Where "Label='volumelabel'" Get DriveLetter^,Name 2^>NUL'
) Do @CD /D %%G

否则,您可以使用Path Win32_LogicalDisk(或其别名LogicalDisk(来代替…

来自cmd:

For /F "Skip=1Tokens=2" %G In ('%__AppDir__%wbemWMIC.exe LogicalDisk Where "VolumeName='volumelabel'" Get DeviceID^,Name 2^>NUL')Do @CD /D %G

从一个批处理文件:

@For /F "Skip=1 Tokens=2" %%G In (
'%__AppDir__%wbemWMIC.exe LogicalDisk Where "VolumeName='volumelabel'" Get DeviceID^,Name 2^>NUL'
) Do @CD /D %%G

您可以使用wmic logicaldisk get name, volumename查看所有连接的驱动器及其驱动器号,然后使用| <name>查找指定的驱动器,其中是驱动器的标签。所以在所有你会做

for /f %%i in ('"wmic logicaldisk get name, volumename | find "DRIVENAME" "') do (set Driveletter=%%i) 
cd %Driveletter%

最新更新