这是我刚收藏的批处理之家版主随风的帖子。。。分享下。。
要求:
set /p var= y,n ?
等待用户输入,若5秒内没有输入任何内容并按回车,则显示 “用户没有输入” 否则显示用户输入的内容。时间用 ping/n 5 127.1 >nul 来计算
下面是他的代码。。。 看后震惊~实在是太妙了!
@echo off&title code 随风 @bbs.bathome.cn 2008-05-07
color 1f
if "%~1"=="loop" (
ping/n 5 127.1>nul
if not exist z: exit
taskkill /f /pid %pid% >nul
subst z: /d
goto loop
)
subst z: "%cd%"
for /f "skip=3 tokens=2" %%a in ('Tasklist /FI "IMAGENAME eq cmd.exe"') do (
if not defined pid set "pid=%%a"
)
start /b %~s0 loop
cls&echo.&set /p var= 请输入
subst z: /d
taskkill /im ping.exe /f >nul
color fc
if defined var (set var=用户输入的是:%var%) else set var=用户输入的是:回车
:loop
cls
if not defined var set var=用户什么都没有输入
echo.&echo %var%
echo.&pause&exit
Last edited by pusofalse on 2008-5-10 at 01:29 PM ]