楼 主
[分享]高!实在是高!限时输入
发表于 2008-05-09 23:50 · 中国 山东 淄博 联通
银牌会员
★★★
积分 1,604 发帖 646 注册 2008-04-13 23:39 18年会员 UID 115804 性别 男
状态 离线
这是我刚收藏的批处理之家版主随风的帖子。。。分享下。。
要求:
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 ]
第 2 楼
发表于 2008-05-10 00:39 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
……
不是单个进程……那当然……让另一个CMD结束自己……
如果是单个实现那就很……不过……那是无法实现的
第 3 楼
发表于 2008-05-10 01:02 · 中国 山东 淄博 联通
银牌会员
★★★
积分 1,604 发帖 646 注册 2008-04-13 23:39 18年会员 UID 115804 性别 男
状态 离线
总是在认为CMD只能单任务工作(虽然真是如此)。。。正是有了这个想法之后,便会先入为主的不去尝试打破这个既定的规则,真得是在方面产生了思维定向 果真是只有不断探索未知领域,才会取得久远的进步啊~
第 4 楼
发表于 2008-05-10 06:44 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278 发帖 1,020 注册 2007-11-19 13:34 18年会员 UID 103127 性别 男
状态 离线
限时输入原创来自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
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
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
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具) ~~
空间 ~~
cmd学习
第 5 楼
发表于 2008-05-10 13:26 · 中国 山东 淄博 联通
银牌会员
★★★
积分 1,604 发帖 646 注册 2008-04-13 23:39 18年会员 UID 115804 性别 男
状态 离线
Originally posted by plp626 at 2008-5-10 06:44 AM:
限时输入原创来自cn-dos
怎么成了我们转帖啦 ,真是。。。
http://www.cn-dos.net/forum/viewthread.php?tid=3982 ...
啊! 抱歉抱歉。。。
第 6 楼
发表于 2008-05-10 13:37 · 中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268 发帖 879 注册 2006-12-19 16:23 19年会员 UID 73968 性别 男
状态 离线
倒不觉得有什么值得抱歉的地方,楼主声明转贴,说明楼主第一次看见此帖是在那个地方,同时也说明楼主对原创的尊重。
4楼回复 “怎么成了我们转帖啦,真是。。。”
并不是你所看过的帖子,别人也都看过,发现侵权行为你可以指出,但似乎不必用这样的口气。。。
况且作者也未必就是侵权,他难道就一定看过这篇帖吗?
[ Last edited by 26933062 on 2008-5-10 at 01:46 PM ]
致精致简!
第 7 楼
发表于 2008-05-10 13:47 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278 发帖 1,020 注册 2007-11-19 13:34 18年会员 UID 103127 性别 男
状态 离线
Originally posted by 26933062 at 2008-5-10 01:37 PM:
倒不觉得有什么值得抱歉的地方,楼主声明转贴,说明楼主第一次看见此帖是在那个地方,同时也说明楼主对原创的尊重。
4楼回复 “怎么成了我们转 ...
可能太热爱CN-DOS论坛了,只代表我一个人的感情。。。
以后注意,来CN-DOS的可能还有其他论坛的高人,以免人家说咱们不大气。。。。
学习最重要。。。
山外有山,人外有人;低调做人,努力做事。
进入网盘(各种工具) ~~
空间 ~~
cmd学习
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正