[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] [已解决]批处理在循环中,如果按任意键退出

本帖最后由 522235677 于 2013-7-10 23:43 编辑

比如这样
  1. :1
  2. echo 13
  3. goto 1
复制代码
打开后就会一直循环显示13,如果在循环的时候按下任意键或者指定按键就能退出,或者跳转到其它标签

Ctrl +C 终止掉,这个算吗?

TOP

回复 2# Python


    这个还不如直接猛击一下叉号

主要是让他退出循环,而不是退出批处理。

TOP

  1. @ECHO OFF
  2. CD/D %~DP0
  3. CHCP 437>NUL&GRAFTABL 936>NUL
  4. :1
  5. echo 13
  6. CK 检查是否有按键
  7. IF %ERRORLEVEL% NEQ 0 GOTO :NEXT 跳出循环
  8. goto 1
  9. :NEXT
  10. ECHO,循环结束!
  11. PAUSE
复制代码
CK.EXE
如无特别说明,代码测试环境均为 XP SP3

TOP

我是这么做的:
  1. @echo off
  2. %1 goto :main
  3. for /f %%a in ('ppids /1') do taskkill /f /pid %%a
  4. exit
  5. :main
  6. start /b "" %0 ::
  7. for /l %%a in (1 1 1000000) do (
  8. echo 第 %%a 次循环
  9. )
  10. pause
复制代码
需要PPIDs

TOP

也可以这样:
  1. @echo off
  2. CHCP 437|GRAFTABL 936>NUL
  3. echo e100 b4 b cd 21 b4 4c cd 21^&echo rcx^&echo 8^&echo w^&echo q|debug ck.com
  4. for /l %%a in (1 1 10000) do (
  5.    echo 第 %%a 次循环
  6.    ck||goto input
  7. )
  8. pause&exit
  9. :input
  10. set /p str=有输入:
  11. pause
复制代码

TOP

本帖最后由 terse 于 2013-7-1 00:03 编辑

修改当年 s11ss 的思路
  1. @echo off
  2. %1start /b "" %~s0 :&pause>nul&cd.>$.t&start /b del $.t ^&exit&goto end
  3. del $.t 2>nul
  4. :loop
  5. if exist $.t exit
  6. echo 13
  7. goto loop
  8. :end
  9. echo 到这里?
  10. pause
复制代码

TOP

  1. @echo off
  2. del ~#>nul 2>nul
  3. start /b "" cmd /k "pause&cd.>~#&exit/b"
  4. set n=0
  5. :1
  6. if exist ~# goto 2
  7. set /a n+=1
  8. echo %n%
  9. goto 1
  10. :2
  11. echo OVER
  12. pause
  13. del ~#>nul 2>nul
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

试了个新方法,不过严重影响主进程效率~
  1. @echo off
  2. title try
  3. start /b "" cmd /c "pause&title Pause&exit/b"
  4. set n=0
  5. :1
  6. set /a n+=1
  7. echo %n%
  8. for /f %%a in ('tasklist /fi  "WINDOWTITLE eq Pause" /nh') do if not "%%a"=="" goto 2
  9. goto 1
  10. :2
  11. echo OVER
  12. pause
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 9# cjiabing


    谢了,看样只能这样了。只能靠另一个窗口来控制。

TOP

返回列表