[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 怎样根据卷标判断盘符?[同样的问题,求VBS方法]

具体情况是这样,我用一个虚拟光驱加载一个镜像,所以这个盘符是不确定的,唯一能确定的只有光盘的卷标
我想再本地硬盘做一个批处理来调用光盘中的程序,这时候就需要通过卷标来判断虚拟光驱的盘符了

搜索了一下,没有找到这方面的知识

麻烦大侠帮忙解决一下!
多谢了!

[ 本帖最后由 lon91ong 于 2008-9-27 19:20 编辑 ]

标题本来是很不错的,非要来三个“?”,画蛇添足。请楼主自觉规范一下,修改标题
  1. @echo off
  2. for /f "skip=1" %%a in ('wmic logicaldisk where "volumename='光盘卷标'" get name') do set "CDdrive=%%a"
  3. echo %CDdrive%
复制代码

[ 本帖最后由 zqz0012005 于 2008-9-27 18:05 编辑 ]
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

版主我真是爱死你了
一下午帮我解决了这么多问题!

试了一下楼上的代码,感觉速度好慢,而且用到了wmic

仅仅用命令行不能实现吗?或者用VBS也可以!


还有,版主的头像是谁呀?

[ 本帖最后由 lon91ong 于 2008-9-27 19:12 编辑 ]

TOP

  1. @echo off
  2. for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  3.   fsutil fsinfo drivetype %%a:|findstr /i "CD">nul&&echo 光驱盘符:%%a
  4. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  3.   vol %%i:|findstr /i "cd">nul&&echo 光驱盘符:%%i&&goto ok
  4. )
  5. :ok
  6. pause
复制代码

TOP

回复 5楼 的帖子

测试结果:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Test>type test.bat
@echo off
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  vol %%i:|findstr /i "cd">nul&&echo 光驱盘符:%%i&&goto ok
)
k

C:\Test>test.bat
The device is not ready.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 Batcher 于 2008-9-27 20:33 发表
测试结果:

我这里测试 上去的啊 用CD标测试

[ 本帖最后由 terse 于 2008-9-27 21:30 编辑 ]

TOP

  如果嫌wmic慢的话,就用vol命令吧,把if语句中的system改成你想要查询的卷标就可以了,演示如下:
  1. @echo off
  2. set drivers=c d e f g h i j k l m n o p q r s t u v w x y z
  3. for %%i in (%drivers%) do (
  4.     for /f "tokens=2,3*" %%j in ('vol %%i: 2^>nul') do if /i "%%l"=="system" echo %%j:
  5. )
  6. pause
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

返回列表