批处理怎么检测到U盘插入指定盘符就执行命令 如果程序打开后20s没U盘插入指定盘符就退出?
2个回答
展开全部
复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 检测插入的U盘是否为指定盘符并执行相应操作
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set upan=K:
set sleep=20
cd /d "%~dp0"
:loop
if exist "%upan%\" (goto break)
echo;%sleep%
set /a sleep-=1
if exist "%windir%\System32\timeout.exe" (
>nul timeout /t 1 /nobreak
) else >nul ping /n 2 0
if %sleep% leq 0 (echo;Not Found&goto end)
goto loop
:break
echo;此处为要执行的命令
:end
echo;%#% +%$%%$%/%@% %z%
>nul ping /n 3 0
exit
展开全部
如果是固定盘符的话,那么使用if命令即可。
@echo off & title 检测指定盘符是否存在 By 依梦琴瑶
::设定指定盘符
set Pf=G:\
:Loop
set /a t+=1
if %t% gtr 20 exit
if exist "%Pf%" goto Start
timeout /t 1 /nobreak >nul 2>nul
goto Loop
:Start
echo 需要执行的命令
@echo off & title 检测指定盘符是否存在 By 依梦琴瑶
::设定指定盘符
set Pf=G:\
:Loop
set /a t+=1
if %t% gtr 20 exit
if exist "%Pf%" goto Start
timeout /t 1 /nobreak >nul 2>nul
goto Loop
:Start
echo 需要执行的命令
追问
为什么程序会将@echo判定为外部程序
且执行完set /a t+=1后显示“此时不应有G:\”?
追答
注意脚本保存的编码,必须是ANSI。至于此时不应有这个提示,是我疏忽,一个单词漏写字母了,原答案已修改。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询