我正在尝试编写一个批处理文件,将文件夹xcopy到可移动USB驱动器。然而,我面临的问题是驱动器号可能会更改,所以我希望能够通过引用卷标而不是驱动器号来做到这一点。
有什么想法吗?一个小时的谷歌搜索已经证明是徒劳的(
此命令应发现具有正确标签的驱动器,并将驱动器号(带冒号)存储在变量"usb"中
for /f %%D in ('wmic volume get DriveLetter^, Label ^| find "yourLabel"') do set usb=%%D
如果愿意,可以将xcopy命令直接嵌入DO子句中。%%D包含驱动器号。
根据我的需要,我在一个批处理文件中使用以下内容来查找标记为"System"的驱动器(这是我的Windows 7操作系统的安装位置),并将与标签"System"相关的驱动器号放入一个名为%SystemVolume_DriveLetter%
的变量中
for /f "delims=" %%l in ('WMIC Path Win32_volume where "Label='System'" Get DriveLetter /format:list') do >nul 2>&1 set "SystemVolume_%%l"
这适用于Windows XP:
for /f %%D in ('wmic LogicalDisk get Caption^, VolumeName ^| find "DRIVE_LABEL"') do set DRIVE=%%D
(如果直接从命令行运行,请使用%D
而不是%%D
。)