Board logo

标题: [特效代码] [已解决]不按键盘任意键,批处理代码执行完成之后怎样自动退出? [打印本页]

作者: sinun    时间: 2014-9-8 20:02     标题: [已解决]不按键盘任意键,批处理代码执行完成之后怎样自动退出?

请问各位高手下面哪儿出错了,为什么如果不按键盘任意键,完成之后不能自动退出,输入任一数字后可以正常退出?
怎么修改能做到不按键盘任意键,代码执行完成之后自动退出?
  1. @echo off
  2. set tt=5
  3. if not "%1"=="" goto %1
  4. del /f "%temp%\#" 2>nul
  5. start /b "" "%~f0" :count
  6. pause
  7. >"%temp%\#" type nul
  8. goto SetNum
  9. :count
  10. if %tt%==0 (goto default
  11. title aaaaa
  12. for /f "tokens=2" %%a in ('tasklist /fi "windowtitle eq aaaaa" /nh') do (taskkill /f /pid %%a>nul)
  13. )
  14. if exist "%temp%\#" (
  15. del "%temp%\#"
  16. exit
  17. )
  18. cls
  19. set Num=3
  20. echo 倒计时 %tt% 秒后将自动输出 %Num% ,请修改为其它数字:
  21. ping -n 2 127.1>nul
  22. set /a tt-=1
  23. goto count
  24. :SetNum
  25. set Num=
  26. set in=&set /p Num=
  27. goto CCC
  28. :default
  29. set Num=3
  30. :CCC
  31. @echo ........................................................................
  32. @echo .
  33. @echo . 输出为 %Num%
  34. @echo .
  35. @echo ........................................................................
  36. ping -n 2 127.1 >nul&exit
复制代码

作者: Batcher    时间: 2014-9-8 20:41

把 pause 删掉试试
作者: sinun    时间: 2014-9-9 23:29

回复 2# Batcher

删掉pause就没有输出了。不知能否实现不按任意键,代码走完后自动退出?
作者: daxin2014    时间: 2014-9-10 08:42

把cmd.exe进程结束掉不就行了,taskkill /f /t /fi "imagename eq cmd.exe"
作者: DAIC    时间: 2014-9-10 09:01

如果你的系统有 timeout 命令,可以把 pause 那行改成这样:
  1. timeout /t 3
复制代码

作者: apang    时间: 2014-9-10 09:49

12~15行:
  1. if %tt%==0 (
  2.     title aaaaa
  3.     for /f "tokens=2" %%a in ('tasklist /fi "windowtitle eq aaaaa" /nh') do (
  4.         taskkill /f /pid %%a>nul
  5.     )
  6.     goto default
  7. )
复制代码

作者: sinun    时间: 2014-9-10 21:48

12~15行:
apang 发表于 2014-9-10 09:49



楼上正解!非常感谢各位老师的指导!




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