batch-file - 当我告诉 cls 时,为什么在 CMD 中打印出这一行?

标签 batch-file command-prompt ping

所以我希望它不显示它正在执行 ping 操作,而只显示它是否正在运行。 我的代码没有做我想要的事情是:

@echo off
:start
ping 188.138.32.53 -n 1
if %errorlevel% == 1 (
goto :fail
) else (
cls
echo The MTG SAMP Server is up and running!
pause
goto :troubleshooting
)
:fail
cls
echo The MTG SAMP Server is currently down, please be patient...
goto :start

它会清屏并仅在运行时显示,但在未运行时显示 ping 状态。这是为什么?

最佳答案

当你处于循环中时。

ping 需要一些时间来检测目的地是否可达。
所以你会在屏幕上看到这个。

第一次测试后,cls 将被执行并显示您的文本。
但是当您再次开始测试时,您还会得到 ping 输出。

只需将输出重定向到nul

ping 188.138.32.53 -n 1 > nul 2>nul

关于batch-file - 当我告诉 cls 时,为什么在 CMD 中打印出这一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17720815/

相关文章:

windows - 删除 Trailing\in subst 命令

java - 如何从命令行运行 TestNG

c++ - 不要用 system() 打开控制台输出

powershell - Powershell测试连接:AsJob与直接运行时结果不同

windows - 从其中获取 `.bat` 文件的位置

loops - 编写批处理文件来重复复制文件

batch-file - 在新窗口中从批处理运行批处理文件?

windows - 在 Windows 环境路径中重复

java - 我不能用 gradle 运行任何东西

c# - 如何使用特定网络接口(interface)(或特定源 IP 地址)Ping?