按标签引用卷/驱动器

时间:2012-01-30 14:22:31

标签: batch-file command label volume xcopy

我正在尝试将批处理文件写入xcopy文件夹到可移动USB驱动器。但是,我面临的问题是驱动器号可能会发生变化,因此我希望能够通过引用卷标而不是驱动器号来实现。

有什么想法吗?一小时的Google-ing已证明毫无结果。 :(

3 个答案:

答案 0 :(得分:12)

此命令应发现具有正确标签的驱动器,并将驱动器号(带冒号)存储在变量“usb”中

for /f %%D in ('wmic volume get DriveLetter^, Label ^| find "yourLabel"') do set usb=%%D

如果您愿意,可以直接在DO子句中嵌入xcopy命令。 %% D包含驱动器号。

答案 1 :(得分:1)

根据我的需要,我在批处理文件中使用以下内容,该文件查找标有“System”的驱动器(这是安装我的Windows 7操作系统的地方),并将与“System”标签关联的Drive Letter放入名为%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"

答案 2 :(得分:1)

This works in Windows XP:

for /f %%D in ('wmic LogicalDisk get Caption^, VolumeName ^| find "DRIVE_LABEL"') do set DRIVE=%%D

(Use %D instead of %%D if run directly from command line.)