标题: [ 新手练习题 2 ] 批处理显示光驱盘符 [打印本页]
作者: wxcute 时间: 2009-5-26 13:50 标题: [ 新手练习题 2 ] 批处理显示光驱盘符
[ 新手练习题 2 ] 显示光驱盘符
判断光驱盘符有哪些,可以利用 VBS、JS 等脚本或注册表来得到,但最后要在批处理中显示出来。
目的:了解能够显示光驱盘符的命令或方法都有哪些。
要求:显示出光驱盘符,如有多个光驱要一并显示出来。
方法不限。
评分:代码可读性 1 分;
首个新方法 5 分,第二个 4 分,依次类推,最少 2 分;
一人可多种方法,新方法追加 2 分,已经出现过的方法追加 1 分。
作者: stuqx 时间: 2009-6-3 10:36
- @echo off
- wmic logicaldisk where drivetype="5" get caption
复制代码
嘿嘿 刚在论坛里找到的
作者: flyzr 时间: 2009-6-4 23:43
- @echo off
- setlocal enabledelayedexpansion
- echo 該電腦的CD-ROM盤符有:
- 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 (
- for /f "delims=" %%j in ('fsutil fsinfo drivetype %%i:^|find/i "CD-ROM"') do (
- set a=%%j
- set a=!a:~0,2!
- set b=!b!!a!
- ))
- echo !b!
- pause >nul
复制代码
拿人家顯示所有U盤盤符的批處理改的
作者: dominater 时间: 2009-10-14 18:37
- @echo off
- set str=a b c d e f g h i j k l m n o p q r s t u v w x y z
- echo 当前存在的盘符:
- for %%i in (%str%) do (
- if exist %%i:
- echo %%i:)
复制代码
这是JM大大FOR教程里的压箱底之作~
[ 本帖最后由 dominater 于 2009-10-14 18:39 编辑 ]
作者: ashdisp 时间: 2009-10-14 19:13
用到了drivex- @echo off
- for /f "delims=:" %%i in ('drivex -v^|findstr "ROM"') do echo %%i:
- pause
复制代码
作者: neorobin 时间: 2010-1-11 18:49
- wmic cdrom get Drive&pause
复制代码
作者: huziivy 时间: 2010-1-12 11:30
原帖由 flyzr 于 2009-6-4 23:43 发表
@echo off
setlocal enabledelayedexpansion
echo 該電腦的CD-ROM盤符有:
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 (
for /f "delims=" %%j in ('fsutil fsinfo drivetype %%i:^|fi ...
同意这个 就是慢
作者: Kenmick 时间: 2010-1-18 19:09 标题: 新手额,只会这样写了~~~
- @echo off
- set drive=c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
- echo 磁盘盘符有:
- for %%i in (%drive%) do (
- if exist %%i:\ echo %%i:\
- )
- pause >nul
复制代码
作者: P_Ricky 时间: 2010-4-9 10:08
原帖由 dominater 于 2009-10-14 18:37 发表
@echo off
set str=a b c d e f g h i j k l m n o p q r s t u v w x y z
echo 当前存在的盘符:
for %%i in (%str%) do (
if exist %%i:
echo %%i
这是JM大大FOR教程里的压箱底之作~
为什么只要exist %%i: 就代表存在盘符呢?
这个是从哪里取的变量?
作者: honeybat 时间: 2010-4-11 15:54
@echo off
@echo. >>tmp.txt
call disk.vbs
for /f "tokens=*" %%i (tmp.txt) do echo %%i
del tmp.txt
pause
-----------------------------------------disk.vbs-------------------
dim fso,dc,tf
set fso=createobject("scripting.filesystemobject")
set dc=fso.drives
for each d in dc
if d.drivetype="4" then
n=n & d.driveletter & ":" & "CD-ROM" & vbcrlf
end if
next
set tf=fso.createtextfile("tmp.txt",true)
tf.write n
tf.close
vbs了解太少,各位请多指教!!
作者: 634175535 时间: 2010-4-25 14:12
这个要用到for 语句吧,应该不难!
作者: Hello123World 时间: 2011-8-3 15:33
- wmic logicaldisk Where DriveType=5 Get DeviceId
复制代码
作者: changedirectory 时间: 2014-6-6 14:01
本帖最后由 changedirectory 于 2014-6-6 14:09 编辑
- @echo off
- for /f "delims=" %%i in ('fsutil fsinfo drives') do (
- for %%j in (%%i) do (
- if "%%j" neq "Drives:" (
- for /f "delims=" %%k in ('fsutil fsinfo drivetype %%j^|findstr "CD-ROM"') do (
- echo 光驱为:%%j
- )
- )
- )
- )
- pause
复制代码
windows 7下测试通过。
作者: shelluserwlb 时间: 2014-11-8 14:19
本帖最后由 shelluserwlb 于 2014-11-9 16:03 编辑
- @echo off
- set hd=c d e f g h i j k l m n o p q r s t u v w x y z
- set f=0
- echo 正在查询本电脑上的光驱盘符,请稍候...
- for %%i in (%hd%) do (
- fsutil fsinfo drivetype %%i:|findstr "驱动器">nul && (
- fsutil fsinfo drivetype %%i:|findstr "CD-ROM">nul && (
- echo 光驱盘符:%%i: & set f=1)
- ))
- if "%f%" == "0" echo 本电脑上没有装光驱!
- echo 查询完毕! & pause>nul
- set f=
复制代码
win7下测试通过!
作者: zqy220422 时间: 2014-11-12 15:23
初学者,看不懂,学习了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |