Board logo

标题: [分享]高!实在是高!限时输入 [打印本页]

作者: pusofalse     时间: 2008-5-9 23:50    标题: [分享]高!实在是高!限时输入

这是我刚收藏的批处理之家版主随风的帖子。。。分享下。。
要求:
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 ]
作者: slore     时间: 2008-5-10 00:39
……

不是单个进程……那当然……让另一个CMD结束自己……

如果是单个实现那就很……不过……那是无法实现的
作者: pusofalse     时间: 2008-5-10 01:02
总是在认为CMD只能单任务工作(虽然真是如此)。。。正是有了这个想法之后,便会先入为主的不去尝试打破这个既定的规则,真得是在方面产生了思维定向 果真是只有不断探索未知领域,才会取得久远的进步啊~
作者: plp626     时间: 2008-5-10 06:44
限时输入原创来自cn-dos
怎么成了我们转帖啦,真是。。。
http://www.cn-dos.net/forum/viewthread.php?tid=39828
@echo off&if not "%1"=="" call%*&exit||{jvive@cn-dos.net|08-4-26}
::纯批实现等待指定输入
:begin
call:timeout 5 :tsk1 626 :tsk2
:tsk1
echo\&echo "默认计划"
echo\&echo 按回车键退出
exit

:tsk2
echo "自定义计划"
pause
exit

:: /*----------------- timeout --------------------
:timeout [num] [:label1] [STR] [:LABEL2]
setlocal&del/a/q %tmp%\' 2>nul||(echo 未知错误!&pause&exit)
start/b/REALTIME %~s0 :timeout_1 %1 %2 %3 %4
:timeout_2
set "v="
set/p v=
if %v%.==%3. title %ComSpec%&cd.>%tmp%\'&endlocal&goto%4
if exist %tmp%\' exit ::没有输入,退出timeout
goto:timeout_2
:timeout_1 [num] [:label1] [STR] [:LABEL2]
for /l %%a in (%1 -1 0)do (
   title 倒计时:%%a /输入:%3 跳过默认计划 %2/
   if exist %tmp%\' title %ComSpec%&exit
   ping/n 2 127.1 >nul)
title %ComSpec%&cd.>%tmp%\'&goto%2
:: /*------------------ timeout -------------------*/
http://www.cn-dos.net/forum/viewthread.php?tid=39880
::抽奖        {s11ss@www.cn-dos.net/forum 2008-4-28}
@echo off
if exist t del t
:m
if "%1" equ "-t" goto t
start /b %~s0 -t
echo 请按任意键停止. . .&pause>nul
cd.>t
start /b del t^&exit
echo 请按任意键开始. . .&pause>nul
goto m
:t
if exist t exit
title 获奖观众的号码是:%random%
goto t

作者: pusofalse     时间: 2008-5-10 13:26


  Quote:
Originally posted by plp626 at 2008-5-10 06:44 AM:
限时输入原创来自cn-dos
怎么成了我们转帖啦,真是。。。
[url]http://www.cn-dos.net/forum/viewthread.php?tid=3982 ...

啊!  抱歉抱歉。。。
作者: 26933062     时间: 2008-5-10 13:37
倒不觉得有什么值得抱歉的地方,楼主声明转贴,说明楼主第一次看见此帖是在那个地方,同时也说明楼主对原创的尊重。
4楼回复 “怎么成了我们转帖啦,真是。。。”
并不是你所看过的帖子,别人也都看过,发现侵权行为你可以指出,但似乎不必用这样的口气。。。
况且作者也未必就是侵权,他难道就一定看过这篇帖吗?

[ Last edited by 26933062 on 2008-5-10 at 01:46 PM ]
作者: plp626     时间: 2008-5-10 13:47


  Quote:
Originally posted by 26933062 at 2008-5-10 01:37 PM:
倒不觉得有什么值得抱歉的地方,楼主声明转贴,说明楼主第一次看见此帖是在那个地方,同时也说明楼主对原创的尊重。
4楼回复 “怎么成了我们转 ...

可能太热爱CN-DOS论坛了,只代表我一个人的感情。。。

以后注意,来CN-DOS的可能还有其他论坛的高人,以免人家说咱们不大气。。。。

学习最重要。。。