Board logo

标题: [求助求助]判断光驱里有无光盘 [打印本页]

作者: 745522988     时间: 2008-1-7 09:46    标题: [求助求助]判断光驱里有无光盘


代码是这样的

@echo off
for %%i in (C:,D:,E:,F:,G:,H:,I:,G:,K:,L:) do fsutil fsinfo drivetype %%i | find "CD" && set a=%%i
echo.
if exist %a%\nul.ext (echo 有光盘) else echo 无光盘
pause>nul

我就是 %a%\nul.ext 这个看不懂

不知道 nul.ext 是什么意思


[ Last edited by 745522988 on 2008-1-7 at 09:48 AM ]
作者: fastslz     时间: 2008-1-7 10:49
楼主同一问题发了n贴了,只要达到正确判断有无光盘目的,还管它nul.ext 是什么意思啊。
if exist %a%\nul.ext 和 if exist %a%\nul 相同
你不会又要问if exist %a%\nul是什么意思了吧
作者: 745522988     时间: 2008-1-7 11:18
呃- -||``我是想那样问!!

你的意 思是说判断有无光盘就是用 nul.ext 这个判 断??

也就是说我问了类似 1加1为什么等于2 的问题??
作者: fastslz     时间: 2008-1-7 12:07
接入正题
@echo off
setlocal enabledelayedexpansion
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
    set var=%%i
    set drive=!var:~-2!
    fsutil fsinfo drivetype !drive!|find "CD">nul && if exist !drive!\nul (echo !drive! 有光盘) else (echo !drive! 无光盘)
)
pause

for /f %%a in ('"wmic logicaldisk where DriveType="5" get DeviceID |find /v "DeviceID""') do if exist %%a\nul (echo %%a 有光盘) else (echo %%a 无光盘)

@echo off
for /f "tokens=3* delims=," %%i in ('WMIC Path Win32_LogicalDisk Get DeviceID^,FileSystem^,Description /format:csv^|find /i "CD-ROM"^|find "CDFS"') do echo %%i 有光盘
[ Last edited by fastslz on 2008-1-7 at 12:08 PM ]