2014-11-22 51 views
0

我想用一个批处理文件来检查特定的光盘是驱动器参考卷名称,并再通过驱动器盘符,该盘是在另一个批处理文件。我设法找到几乎适用于我的东西,但不是很完美:Get the drive letter of a given volume?。我一直试图让下面的工作,但语法现在不正确,我不知道在哪里。如何检查特定光盘并将驱动器号传递给另一个批处理文件?

SET "volname=Desired_Name" 
FOR %%d IN (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) DO IF EXIST %%d:\. (
FOR /f "tokens=5*" %%L IN ('VOL %%d:^|FIND /i "drive"' 
) DO IF "%%L"=="is" IF "%%M"=="%volname%" set drive=%%d & goto success 
) 
goto :eof 
:success 
success.bat %drive% 

回答

1

我算你的括号,如果我是你 - 一个比封闭更开放...


唉!现在,我已经清理我的显示器......

我有2个DVD驱动器和发现,如果我把目标于一体,测试其移动到其他的空驱动器给了一个讨厌的弹出。

所以我摆弄的代码,并与此上来,这似乎免疫缺失的内容:

@ECHO OFF 
SETLOCAL 
SET "volname=HTML4_WCC" 
FOR %%d IN (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) DO (
FOR /f "tokens=5*" %%L IN ('VOL %%d: 2^>nul^|FIND /i "drive"' 
) DO IF "%%L"=="is" IF "%%M"=="%volname%" set drive=%%d & goto success 
) 
goto :eof 
:success 
ECHO Disc in %drive% 
GOTO :EOF 

或者,也许你有一个情况不匹配,需要if /i

+0

我已经过双重检查,在括号中找不到任何不匹配。你在哪里看到它? – Ikrananka 2014-11-22 23:51:39

相关问题