找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27314|回复: 6

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

[复制链接]
发表于 2008-5-8 10:25:26 | 显示全部楼层 |阅读模式
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 窗口,不知如何解决。。
:
  1. @echo off&title 2008-05-07
  2. color 1f
  3. if "%~1"=="loop" (
  4.   ping/n 5 127.1>nul
  5.   if not exist z: exit
  6.   taskkill  /f /pid %pid% >nul
  7.   subst z: /d
  8.   goto loop
  9. )
  10. subst z: "%cd%"
  11. for /f "skip=3 tokens=2" %%a in ('Tasklist /FI "IMAGENAME eq cmd.exe"') do (
  12.   if not defined pid set "pid=%%a"
  13. )
  14. start /b %~s0 loop
  15. cls&echo.&set /p var=  请输入
  16. subst z: /d
  17. taskkill /im ping.exe /f >nul
  18. color fc
  19. if defined var (set var=用户输入的是:%var%) else set var=用户输入的是:回车
  20. :loop
  21. cls
  22. if not defined var set var=用户什么都没有输入
  23. echo.&echo %var%
  24. echo.&pause&exit
复制代码
没想到相同功能的帖已经在cn-dos有了,早知道就不用发这心思来写了。
http://www.cn-dos.net/forum/viewthread.php?tid=39828
若原作者 jvive 认为有必要,可短信联系我,我可以删除此帖。

评分

参与人数 1PB +8 收起 理由
foxJL + 8 精品文章

查看全部评分

发表于 2008-5-9 17:11:00 | 显示全部楼层
太高深了,批处理不是按照顺序执行的吗????
发表于 2008-5-10 06:41:17 | 显示全部楼层
恳请版主删除jvive的帖子

[ 本帖最后由 jvive 于 2009-1-8 18:37 编辑 ]
 楼主| 发表于 2008-5-10 11:35:40 | 显示全部楼层
哦?
确实没注意到此帖,感谢 jvive 提醒,呵呵,原来我侵权了。。。
以在顶楼把作者(随风)信息去掉了。并把此帖由 原创区 移到 讨论区。

[ 本帖最后由 随风 于 2008-5-10 12:15 编辑 ]
发表于 2008-5-10 14:00:36 | 显示全部楼层
恳请版主删除jvive的帖子

[ 本帖最后由 jvive 于 2009-1-8 18:36 编辑 ]
发表于 2009-1-8 20:14:03 | 显示全部楼层
全部删除?还是只删这两个?
发表于 2009-6-4 13:36:00 | 显示全部楼层
欣赏之  刚好要用到  记得以前看到过  一下就搜到了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 12:51 , Processed in 0.050560 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表