2016-05-11 11 views
3

私はこのドライブを持っています:KTEST(K:) - ドライブKKTESTと書かれています。ラベルKTESTのドライブがA:またはK:またはJ:のドライブであるかどうかを調べる必要があります。私の場合、それはKTEST(K:)のように存在しますが、そうでなければ、どうすればいいですか?特定のラベルを持つドライブがバッチ内に存在するかどうかを確認する方法

申し訳ありません再送信された場合は、本当に見つけることができませんでした。

しようとしたものの一つ:

if exists KTEST:\ @echo exists

...と、より多くを!

答えて

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. 
) 
+0

'' for/F'の '' tokmens = 2 delims == "'は必要ありませんか? – aschipfl

+0

@aschipfl Nnnnope。私はなぜ読者のための運動としてではなく説明を残します。 :) – rojo

+0

ああ、それは非常に賢い、+1! – aschipfl

0

%%Aをバッチで使用してください。 for /?,dir /?およびfindstr /?を参照してください。

+1

良いアイデアが、あなただけの 'Cのラベルをチェックしている:'、カバーしていません。全体の質問... – aschipfl

関連する問題