我想知道是否可以使用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%