标题: [特效代码] [已解决]批处理在循环中,如果按任意键退出 [打印本页]
作者: 522235677 时间: 2013-6-29 00:26 标题: [已解决]批处理在循环中,如果按任意键退出
本帖最后由 522235677 于 2013-7-10 23:43 编辑
比如这样复制代码
打开后就会一直循环显示13,如果在循环的时候按下任意键或者指定按键就能退出,或者跳转到其它标签
作者: Python 时间: 2013-6-30 18:32
Ctrl +C 终止掉,这个算吗?
作者: 522235677 时间: 2013-6-30 19:39
回复 2# Python
这个还不如直接猛击一下叉号
主要是让他退出循环,而不是退出批处理。
作者: cutebe 时间: 2013-6-30 20:12
- @ECHO OFF
- CD/D %~DP0
- CHCP 437>NUL&GRAFTABL 936>NUL
-
- :1
- echo 13
-
- CK 检查是否有按键
- IF %ERRORLEVEL% NEQ 0 GOTO :NEXT 跳出循环
-
- goto 1
-
- :NEXT
- ECHO,循环结束!
-
- PAUSE
复制代码
CK.EXE
作者: CrLf 时间: 2013-6-30 22:37
我是这么做的:- @echo off
- %1 goto :main
- for /f %%a in ('ppids /1') do taskkill /f /pid %%a
- exit
-
- :main
- start /b "" %0 ::
- for /l %%a in (1 1 1000000) do (
- echo 第 %%a 次循环
- )
- pause
复制代码
需要PPIDs
作者: CrLf 时间: 2013-6-30 22:59
也可以这样:- @echo off
- CHCP 437|GRAFTABL 936>NUL
- echo e100 b4 b cd 21 b4 4c cd 21^&echo rcx^&echo 8^&echo w^&echo q|debug ck.com
- for /l %%a in (1 1 10000) do (
- echo 第 %%a 次循环
- ck||goto input
- )
- pause&exit
-
- :input
- set /p str=有输入:
- pause
复制代码
作者: terse 时间: 2013-7-1 00:00
本帖最后由 terse 于 2013-7-1 00:03 编辑
修改当年 s11ss 的思路- @echo off
- %1start /b "" %~s0 :&pause>nul&cd.>$.t&start /b del $.t ^&exit&goto end
- del $.t 2>nul
- :loop
- if exist $.t exit
- echo 13
- goto loop
- :end
- echo 到这里?
- pause
复制代码
作者: cjiabing 时间: 2013-7-10 09:26
- @echo off
- del ~#>nul 2>nul
- start /b "" cmd /k "pause&cd.>~#&exit/b"
-
- set n=0
-
- :1
- if exist ~# goto 2
- set /a n+=1
- echo %n%
- goto 1
-
-
- :2
- echo OVER
- pause
- del ~#>nul 2>nul
复制代码
作者: cjiabing 时间: 2013-7-10 09:41
试了个新方法,不过严重影响主进程效率~- @echo off
- title try
- start /b "" cmd /c "pause&title Pause&exit/b"
-
-
- set n=0
-
- :1
- set /a n+=1
- echo %n%
- for /f %%a in ('tasklist /fi "WINDOWTITLE eq Pause" /nh') do if not "%%a"=="" goto 2
- goto 1
-
-
- :2
- echo OVER
- pause
复制代码
作者: 522235677 时间: 2013-7-10 23:43
回复 9# cjiabing
谢了,看样只能这样了。只能靠另一个窗口来控制。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |