批处理检测磁盘是否存在【高分求高手】

2025-03-12 15:17:13
推荐回答(3个)
回答1:

@echo off&color a
vol t:
if %errorlevel% equ 1 start d:\456.exe
if %errorlevel% equ 0 start d:\123.exe
vol t:
if %errorlevel% equ 0 ping -n 5 127.0.0.1&start d:\123.exe

{ping 127.0.0.1 -n 5
start d:\123.exe}这一段程序,是从属于if exist的,
另外,不能用exist来判断磁盘是否存在

回答2:

@echo off
:: T盘存在就直接运行d:\123.exe,不存在就运行d:\456.exe
if exist t: (start "" d:\123.exe) else (start "" d:\456.exe)
::再次检查T盘是否存在,如果存在就等5秒后运行d:\123.exe
::ping延时不够精确,所以用了VBS
if exist t: (
del /a /f /q wkdxz.vbs 2^>nul&echo wscript.sleep 5000>wkdxz.vbs
start /wait "" wkdxz.vbs
start "" d:\123.exe
del /f /s /q wkdxz.vbs
)

回答3:

你错在第一句执行后还会执行第二句及之后所有代码。我同意可用exist判断某盘是否存在,(在光驱未就绪被认为不存在):
@echo off
if not exist T:(start d:\456.exe ) else (
start d:\123.exe
ping -n 5 127.1 >nul
start d:\123.exe )

不过我怀疑你描述错了,是不是不存在T:时,运行一程序过5秒再循环,则改为:
@echo off
:loop
if exist T:(start d:\123.exe ) else (
start d:\456.exe
ping -n 5 127.1 >nul
goto loop )