Board logo

标题: [其他] 批处理msg命令为何会无限循环运行? [打印本页]

作者: Kenmick    时间: 2010-7-2 20:23     标题: 批处理msg命令为何会无限循环运行?

批处理内容为:
  1. @echo off
  2. msg %username% /time:10 hello world!!
  3. %0
复制代码
运行后,即使退出了批处理的运行界面,msg命令还是会无限循环运行,为什么?
求指教,谢谢~~
作者: sgaizxt001    时间: 2010-7-2 20:42

关键就是%0,%0代表的是本身这个批处理,相当于是运行了msg后,继续运行此批处理,无限循环直到强制关闭
作者: Kenmick    时间: 2010-7-3 01:26

%0 无限循环我知道,但是在进程中为什么查看不到呢?
还有想问一下如何强制关闭?
谢了~
作者: zjw767676    时间: 2010-7-3 18:19

1、鼠标点击窗口关闭按钮
2、Ctrl+C
3、其他。。。。。
作者: Kenmick    时间: 2010-7-14 15:44

关闭了运行窗口之后,消息框还在运行,而且无法关闭,为什么?
作者: chensjiu    时间: 2011-1-12 18:22

原帖由 Kenmick 于 2010-7-14 15:44 发表
关闭了运行窗口之后,消息框还在运行,而且无法关闭,为什么?


因为在运行窗口关闭之前,批处理已经发出过n个(无数个)消息,这些“过时”的消息仍需逐一显示!
作者: cjiabing    时间: 2011-10-10 00:07

  1. taskkill /f /t /im msg.exe
复制代码

作者: applba    时间: 2011-10-10 00:20

实际上是楼主的关闭速度没有批处理生成速度快,哈哈……
既然知道是无线循环,为什么不延迟一下呢……
我还想知道楼主具体怎么调用的……
作者: garyng    时间: 2011-11-9 19:43

你试试看echo %0
就会显示出批处理本身的路径
最后一个放着%0
但然后无限循环到你的电脑崩溃、或强制关闭




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