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

Dea*_*ean 2 windows batch-file

我试图将返回输出的命令放入批处理文件中。当我运行批处理文件时,它会一遍又一遍地执行命令,直到我用 CTRL+C 取消为止。

我在 Windows CE、Windows XP、Windows 7 和 Server 2003 中观察到了这种行为。起初我以为我在使用 LDIFDE 时犯了一个错误,但在 PING 中也是如此。

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

该文件包含一行:

ping google.com
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Zor*_*che 12

我想你命名了你的脚本,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