Board logo

标题: [特效代码] 如何在CMD窗口实现循环或跳转? [打印本页]

作者: cjiabing    时间: 2011-8-7 02:48     标题: 如何在CMD窗口实现循环或跳转?

本帖最后由 cjiabing 于 2011-8-13 11:18 编辑

CMD窗口通常一行一次命令,几个命令只能借助&或|等连接符号来连接,不能分行是一个痛。
所以,想要在cmd窗口进行循环命令是个难题!~
比如:
  1. :loop
  2. echo %time%
  3. goto loop
复制代码

你直接复制进cmd也无法使得进行循环。
这样也不得:
  1. :loop&echo %time%&goto loop
复制代码

估计是cmd不支持标签所致,只是估计,想向诸位讨教下,CMD是否支持标签跳转,如果不支持,有没有其它可替代的用法?
看看大家有什么好建议,实现在CMD窗口的标签跳转和有效循环,以扩展cmd /c 的应用。
作者: 545810831    时间: 2011-8-7 08:20

在我电脑上试下是可以运行的,把goto loop 改为%0 也可进行实现循环
作者: hanyeguxing    时间: 2011-8-7 08:46

本帖最后由 hanyeguxing 于 2011-8-7 20:43 编辑

例如:
  1. cmd /v/q/c "for /l %a in () do if "!time:~0,5!"=="12:34" echo ok&exit"
复制代码

作者: Batcher    时间: 2011-8-7 11:13

回复 2# 545810831


估计楼主希望得到的是循环,而不是死循环。
作者: cjiabing    时间: 2011-8-7 15:37

本帖最后由 cjiabing 于 2011-8-7 15:44 编辑

回复 3# hanyeguxing


    你一说变量延迟我估计就是cmd /vn了,呵呵,不过没空试,谢谢!~

    靠,昨晚试了一个晚上,原来是 cmd  /v:on /c ,而不是 cmd  /c /v:on ,太过分了!~
    人有时候就是范糊涂!~
作者: cjiabing    时间: 2011-8-7 15:48

回复 2# 545810831


    其实,我是想在cmd窗口实现标签跳转功能的,而不是简单的循环。
    在发完这个问题后,我首先就想得到了for可以循环,但for仍然没有办法跳转。
    可能问题没有想清楚就发了,抱歉。
作者: 545810831    时间: 2011-8-7 16:24

回复3# hanyeguxing  
"!time:~0,5!"=="12:34"    如果时间是6:34 就不灵了 所以!time! 取值为前5位是错的吧
作者: hanyeguxing    时间: 2011-8-7 19:16

回复 7# 545810831


    1,这里仅仅是举个示例而已
   2,如果时间是6:34 ,应该写成 "!time:~0,5!"==" 6:34"
作者: 545810831    时间: 2011-8-7 20:28

看来我要多学,多做才行
作者: yhp1996    时间: 2011-8-10 20:52

  1. (
  2. :loop
  3. echo XXXXXXXXX
  4. goto loop
  5. )
复制代码

作者: CUer    时间: 2011-8-10 23:25

回复 11# yhp1996


楼主说的是命令行窗口,不是BAT文件。




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