@echo off
:: testdrive.cmd 在Windows 2000/xp/2003环境下测试可用的盘符(可以排除无盘光驱)
:: 由于批处理运行时用到了“延迟环境变量扩充的支持”,所以要用下面的命令行来运行这个批处理
:: 运行这个批处理的命令行: start /wait cmd.exe /v

n /C testdrive.cmd
setlocal
chcp 437 > nul
set drives=C: D: E: F: G: H: I: J: K: L: M: N: P: Q: R: S: T: U: V: W: X: Y: Z:
set freedrva=
for %%d in (%drives%) do @if not exist %%d set freedrva=!freedrva! %%d
if not "%freedrva%"=="" echo Suppose Free: %freedrva% && echo =================================set freedrvb=
for %%d in (%freedrva%) do @call :_testcd %%d
if not "%freedrvb%"=="" echo ================================= && echo Really Free: %freedrvb% && echo.
goto _quit:_testcd
::if not "%~1"=="" echo Current test: %~1
if "%~1"=="" goto :eof
dir %~1 2> ~ready.txt
type ~ready.txt | find /i "ready" > nul
if errorlevel 1 set freedrvb=%freedrvb% %~1
::echo Current Really Free: %freedrvb%
goto :eof
:_quit
del /f /q ~*.*
pause
chcp 936 > nul
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“
这个帖子”和“
这个帖子”并努力遵守,如果可能,请告诉更多的人!