Windows 批处理文件执行一些命令并反复返回输出

Windows 批处理文件执行一些命令并反复返回输出

我尝试将返回输出的命令放入批处理文件中。当我运行批处理文件时,它会反复执行命令,直到我使用 CTRL+C 取消。

我在 Windows CE、Windows XP、Windows 7 和 Server 2003 中观察到了这种行为。起初我以为我在 LDIFDE 上犯了一个错误,但 PING 也出现了同样的问题。

我在批处理脚本中遗漏了什么吗?

该文件包含一行:

ping google.com

在此处输入图片描述

答案1

我认为您已为您的脚本命名ping.bat,或者ping.cmd它正在调用自身。

这种情况的发生是因为 DOS 2.0 中引入了一项设计决策。在 MS-DOS、Windows 以及 MS-DOS 克隆版和衍生版中,当前目录位于搜索路径的首位。当 DOS 搜索命令时,它首先检查它是否是 command.com 内置的内部命令(例如 echo、copy),然后搜索文件系统。它总是从当前目录开始,然后查找 PATH 变量中定义的目录。

您有以下几种选择:

  • 重命名脚本。
  • 只需在脚本中包含文件扩展名即可ping.exe google.com
  • 使用完整路径进行 ping%SystemRoot%\system32\ping.exe

相关内容