0

我对批处理没有太多经验,需要批处理脚本的帮助。任务是,将驱动器号作为参数返回给 %disk_letter%

想法是用它来搜索:

WMIC LogicalDisk 其中 VolumeName='MY_USB' 获取 /Format:list | 查找“标题=”

结果是“Caption = G:”。我需要 %disk_leter% 参数等于 "G:" 需要帮助来完成这个脚本。

谢谢!

4

2 回答 2

0

现在在 Linux 上,但这是我认为你需要做的。第 1 部分:将FIND命令结果保存到变量中,第 2 部分:获取变量的子字符串。第二部分很简单,所以我将从它开始(假设在第一步中你命名了你的变量var

@echo %var:~-2%

这大约是我对批量感到满意的程度,所以接下来的一点是拼凑在一起的:

要将查找结果存储为变量,请尝试将代码修改为:

set cmd="WMIC LogicalDisk Where VolumeName='MY_USB' Get /Format:list | FIND "Caption=" "

FOR /F %%i IN (' %cmd% ') DO SET var=%%i

然后(记住上面)输出它:

@echo %var:~-2%

我正在拼凑第二部分的相关问题是这个问题,所以如果这不能按预期工作,我会先跳到那个问题。

于 2012-08-22T03:53:38.047 回答
0

开始...

@echo off

for /F "usebackq tokens=1,2,3,4 " %%i in (`wmic logicaldisk get caption^,description^,drivetype 

2^>NUL`) do (

if %%l equ 2 (
echo %%i is a USB drive.
)
)
于 2013-11-22T22:24:05.280 回答