我希望有人可以提供帮助:)
我正在尝试
这是生成我需要使用的值的行:
for /f "skip=1" %%A in ('wmic logicaldisk where "Description='Removable Disk'" get name') do
通常,输出如下所示:
E:
现在我需要剪切此变量以仅获取驱动器“E”,我需要在脚本中重复使用。
我发现了this威胁,我希望这也是我问题的解决方案。 不幸的是,这对我不起作用,因为应用此输出完全为空。
我认为在将输出%% A写入变量时,我做错了。
我的代码目前看起来像这样:
@ECHO OFF
for /f "skip=1" %%A in ('wmic logicaldisk where "Description='Removable Disk'" get name') do (
echo.%%A
set drive=%%A
set drive=%drive:~0,-1%
echo.%drive%
)
此代码的输出为:
E:
:*:
:*:
有人知道我做错了什么吗? :)
提前感谢您的帮助!
答案 0 :(得分:1)
有许多不同的方法可以解决wmic
难看的行结尾问题。在你的情况下,它相对容易(你甚至不需要任何变量):
for /f "skip=1 tokens=2 delims==:" %%A in ('wmic logicaldisk where "DriveType='2'" get name /value') do echo %%A
我从Description='Removable Disk'
切换到DriveType='2'
,因为输出与语言有关(德语为Description=Wechseldatenträger
),2
为2
。