如何检查批处理中是否存在具有特定标签的驱动器

时间:2016-05-11 00:06:06

标签: batch-file

我有这个驱动器:KTEST(K:) - 标有K的驱动器KTEST。我需要查看标签KTESTA:K:J:是否存在的驱动器。在我的情况下它存在KTEST(K:),但如果它说没有,我怎么能这样做?

对不起,如果重复,无法真正找到答案。

其中一个尝试过:

if exists KTEST:\ @echo exists

......还有更多!

2 个答案:

答案 0 :(得分:2)

您可以使用WMI查询。

wmic logicaldisk where "VolumeName='KTEST'" get Name /value

完整示例:

@echo off
setlocal

for /f %%I in (
    '2^>NUL wmic logicaldisk where "VolumeName='KTEST'" get Name /value ^| find "="'
) do set "%%I"

if defined Name echo It exists!

conditional execution

@echo off
setlocal

2>NUL wmic logicaldisk where "VolumeName='KTEST'" get Name /value | find "=" >NUL && (
    echo It exists!
) || (
    echo It doesn't exist.
)

答案 1 :(得分:0)

for /f "tokens=6*" %A in ('dir c:\zzzz ^| Findstr /c:"Volume in drive"') do echo %A

批量使用%%A。请参阅for /?dir /?findstr /?