所以我希望它不显示它正在执行 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/