我对批处理没有太多经验,需要批处理脚本的帮助。任务是,将驱动器号作为参数返回给 %disk_letter%
想法是用它来搜索:
WMIC LogicalDisk 其中 VolumeName='MY_USB' 获取 /Format:list | 查找“标题=”
结果是“Caption = G:”。我需要 %disk_leter% 参数等于 "G:" 需要帮助来完成这个脚本。
谢谢!
我对批处理没有太多经验,需要批处理脚本的帮助。任务是,将驱动器号作为参数返回给 %disk_letter%
想法是用它来搜索:
WMIC LogicalDisk 其中 VolumeName='MY_USB' 获取 /Format:list | 查找“标题=”
结果是“Caption = G:”。我需要 %disk_leter% 参数等于 "G:" 需要帮助来完成这个脚本。
谢谢!
现在在 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%
我正在拼凑第二部分的相关问题是这个问题,所以如果这不能按预期工作,我会先跳到那个问题。
开始...
@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.
)
)