我对批处理没有太多经验,需要批处理脚本的帮助。 任务是,将驱动器号作为参数返回到%disk_letter%
想法是用于搜索:
WMIC LogicalDisk其中VolumeName ='MY_USB'Get / Format:list |找到“Caption =”
结果是“Caption = G:”。我需要%disk_leter%参数只等于“G:” 需要帮助才能完成此脚本。
谢谢!
答案 0 :(得分: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%
我正在将第二部分拼凑在一起的相关问题是this question所以如果这不能按预期工作,我会首先跳到那个。
答案 1 :(得分: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.
)
)