标题: [其他] 批处理如何才能跳出重复的语句而不失效果? [打印本页]
作者: yunzhong 时间: 2010-12-23 17:36 标题: 批处理如何才能跳出重复的语句而不失效果?
做了一个文字可以在屏幕上跳动的bat,但是我发现可以不断的循环但是却出不去了??
如果硬要打破,却失去了文字跳动的效果??
[local]1[/local]
作者: yunzhong 时间: 2010-12-23 17:38
[code]@echo off
:1f
cls
color 25
echo.
echo.
echo .................................
echo.
echo .................................
echo.
echo ........╭╮╭╮﹒╭╮∴ ☆╭─╭──╮─╮.......
echo ││││╭╯╰─╮∴╰╮│╭╮│╭╯
echo ........││││╰╮╭╮│﹒╭╯│╰╯│╰╮.......
echo ││││★││││﹒╰╮│╭╮│╭╯
echo ........│╰╯╰─╯╰╯╰╮╭╯│╰╯│╰╮★......
echo │╭╮╭─╮╭──╯╰─╰──╯─╯
echo ........╰╯││╭╯╰─╮★╭──╯╰──╮.......
echo ∴☆│││╭─╮│﹒╰──╮╭──╯
echo ........☆﹒││││☆││∴╭─╮││╭─╮.......
echo ☆★╰╯╰╯ ╰╯ ╰─╯╰╯╰─╯
echo .................................
echo.
echo .................................
ping -n 0.02 127.0.1>nul
goto 2f
exit
:2f
cls&color
color 2c
echo.
echo.
echo.
echo .................................
echo.
echo .................................
echo ╭╮╭╮﹒╭╮∴ ╭─╭──╮─╮
echo ........││││╭╯╰─╮∴╰╮│╭╮│╭╯.......
echo ││││╰╮╭╮│﹒╭╯│╰╯│╰╮
echo ........││││ ││││﹒╰╮│╭╮│╭╯.......
echo │╰╯╰─╯╰╯╰╮╭╯│╰╯│╰╮
echo ........│╭╮╭─╮╭──╯╰─╰──╯─╯.......
echo ╰╯││╭╯╰─╮★╭──╯╰──╮
echo ........∴☆│││╭─╮│﹒╰──╮╭──╯.......
echo ﹒ ││││☆││∴╭─╮││╭─╮
echo ........☆★╰╯╰╯ ╰╯ ╰─╯╰╯╰─╯.......
echo.
echo .................................
echo.
echo.
ping -n 0.02 127.0.1>nul
goto 1f
exit[/code]
作者: hanyeguxing 时间: 2010-12-23 17:46
1,既然是不断的循环,当然不可以跳出去,除非设定前提
前提:
使用 if ... goto ... 判断条件
使用 for /l ... call ... 指定循环次数
2,ping -n 0.02 127.0.1>nul
-n 的数值只能为整数
作者: yunzhong 时间: 2010-12-26 16:02
[code]@echo off
setlocal EnableDelayedExpansion
set t =0
:t
set t=t+1
if %t%==5 goto 4f
else goto 1f
exit
:1f
cls
color 25
echo.
echo.
echo .................................
echo.
echo .................................
echo.
echo ........╭╮╭╮﹒╭╮∴ ☆╭─╭──╮─╮.......
echo ││││╭╯╰─╮∴╰╮│╭╮│╭╯
echo ........││││╰╮╭╮│﹒╭╯│╰╯│╰╮.......
echo ││││★││││﹒╰╮│╭╮│╭╯
echo ........│╰╯╰─╯╰╯╰╮╭╯│╰╯│╰╮★......
echo │╭╮╭─╮╭──╯╰─╰──╯─╯
echo ........╰╯││╭╯╰─╮★╭──╯╰──╮.......
echo ∴☆│││╭─╮│﹒╰──╮╭──╯
echo ........☆﹒││││☆││∴╭─╮││╭─╮.......
echo ☆★╰╯╰╯ ╰╯ ╰─╯╰╯╰─╯
echo .................................
echo.
echo .................................
ping -n 0.02 127.0.1>nul
goto 2f
exit
:2f
cls&color
color 2c
echo.
echo.
echo.
echo .................................
echo.
echo .................................
echo ╭╮╭╮﹒╭╮∴ ╭─╭──╮─╮
echo ........││││╭╯╰─╮∴╰╮│╭╮│╭╯.......
echo ││││╰╮╭╮│﹒╭╯│╰╯│╰╮
echo ........││││ ││││﹒╰╮│╭╮│╭╯.......
echo │╰╯╰─╯╰╯╰╮╭╯│╰╯│╰╮
echo ........│╭╮╭─╮╭──╯╰─╰──╯─╯.......
echo ╰╯││╭╯╰─╮★╭──╯╰──╮
echo ........∴☆│││╭─╮│﹒╰──╮╭──╯.......
echo ﹒ ││││☆││∴╭─╮││╭─╮
echo ........☆★╰╯╰╯ ╰╯ ╰─╯╰╯╰─╯.......
echo.
echo .................................
echo.
echo.
ping -n 0.02 127.0.1>nul
goto t
exit
:4f
cls
echo 循环结束
ping -n 2 127.0.1>nul
echo
exit[/code]
想出来个其他版的
这个应该可以了吧!!
作者: hanyeguxing 时间: 2010-12-26 16:06
set t=t+1应该写成set /a t=t+1
其他的还没看呢。。。
作者: yunzhong 时间: 2010-12-26 16:08
呵呵!!激动了
忘记有那个语法了!!
是set /a
作者: yunzhong 时间: 2010-12-26 16:11
测试了下还真没有问题。。。
就是不清楚那个
延迟变量setlocal EnableDelayedExpansion
需要不需要!!!
作者: yunzhong 时间: 2010-12-26 16:26
这是我的全部代码,贴出来,如果大家觉得有bug的话请指正啊!复制代码
[ 本帖最后由 yslyxqysl 于 2010-12-26 17:01 编辑 ]
作者: vincentzhou 时间: 2011-1-2 17:47 标题: 回复 8楼 的帖子
失败啊 我没有读代码就直接试了试,结果当跳出关机的那个窗口时我果断的运行了shutdown -a 吓死我了……
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |