返回列表 发帖

[其他] 批处理命令 set /p 限时输入,否则执行默认值

set /p 限时输入,否则执行默认值
5 秒内不输入内容并按回车,则限时“用户什么都没有输入”否则显示用户输入的内容。
代码思路来源与cn-dos的模拟线程。
http://www.cn-dos.net/forum/viewthread.php?tid=39880&fpage=1&highlight=%E7%BA%BF%E7%A8%8B
代码仍有一小小瑕疵,就是当不输入内容,执行默认值后,运行到代码的结尾,若不加exit则按任意键后,不会退出 cmd 窗口,不知如何解决。。
:
@echo off&title 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&exitCOPY
没想到相同功能的帖已经在cn-dos有了,早知道就不用发这心思来写了。
http://www.cn-dos.net/forum/viewthread.php?tid=39828
若原作者 jvive 认为有必要,可短信联系我,我可以删除此帖。
1

评分人数

技术问题请到论坛发帖求助!

太高深了,批处理不是按照顺序执行的吗????
@set,=学无止境
@for /l %%b in (0,1,6) do @call set/p= %%,:~%%b,1%%<nul

TOP

恳请版主删除jvive的帖子

[ 本帖最后由 jvive 于 2009-1-8 18:37 编辑 ]

TOP

哦?
确实没注意到此帖,感谢 jvive 提醒,呵呵,原来我侵权了。。。
以在顶楼把作者(随风)信息去掉了。并把此帖由 原创区 移到 讨论区。

[ 本帖最后由 随风 于 2008-5-10 12:15 编辑 ]
技术问题请到论坛发帖求助!

TOP

恳请版主删除jvive的帖子

[ 本帖最后由 jvive 于 2009-1-8 18:36 编辑 ]

TOP

全部删除?还是只删这两个?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

欣赏之  刚好要用到  记得以前看到过  一下就搜到了

TOP

返回列表