Board logo

标题: [文件操作] 求助 批处理怎样才能按任意键离开,没按任意键则执行? [打印本页]

作者: a000001    时间: 2014-11-6 12:21     标题: 求助 批处理怎样才能按任意键离开,没按任意键则执行?

求助 批处理怎样才能按任意键离开,没按任意键则执行?

需要批处理:

1.一开启最初10秒内,可以按任意键离开

2.如果超过10秒都没按任意键,则执行notepad.exe

先谢过各位高人
作者: amwfjhh    时间: 2014-11-7 23:04

  1. @echo off
  2. if %1# NEQ # goto %1
  3. set /a nIndex=0
  4. :_start
  5. (
  6. start /b %~fs0 :_Thread
  7. pause>nul
  8. echo 提前按下操作键,退出默认执行任务...
  9. >%tmp%\$ cd.
  10. exit
  11. )
  12. :_Thread
  13. (
  14. setlocal enabledelayedexpansion
  15. ping -n 2 127.1>nul
  16. set /a nIndex+=2
  17. set /a nRev=10-!nIndex!
  18. echo 操作倒计时 !nRev! 秒
  19. if exist %tmp%\$ del /f %tmp%\$ & exit
  20. if !nIndex! lss 10 goto :_Thread
  21. start "" notepad
  22. )
复制代码

作者: 34205    时间: 2015-1-22 17:45

学习了,..............


@echo off
Mode con: cols=45 lines=9

:GO
echo =======说明区========
Echo 按任意键离开,没按任意键则执行?
echo =======代码区========

if %1# NEQ # goto %1

set /a nIndex=0
:_start
(
        start /b %~fs0 :_Thread
        pause>nul
        echo 你已经提前按下操作键,退出默认执行任务...
        >%tmp%\$ cd.

        goto out
                )

:_Thread
(
        setlocal enabledelayedexpansion
        ping -n 2 127.1>nul
        set /a nIndex+=2
        set /a nRev=10-!nIndex!
        echo 请输入,操作倒计时 !nRev! 秒........
        if exist %tmp%\$ del /f %tmp%\$ & exit
        
        if !nIndex! lss 10 goto :_Thread
        echo.
        echo 输入超时,地球已经爆炸.........
                goto out
)

echo =======退出区=======
:Out
echo.
echo 退出.......
Ping -n 20 127.1>nul
exit /b




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2