2013-07-18 2 views
2

Так что я хочу, чтобы он не показывал, что это pinging, просто независимо от того, работает он или нет. Мой код, который не делает то, что я хочу, чтобы это:Почему эта линия печатается в CMD, когда я сказал ей cls?

@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 

Он очищает экран и говорит только, когда он работает, но когда он не запущен, он отображает пинг статус. Почему это?

+1

просто перенаправить вывод пингом ни к чему, т.е. пинг 10.1.1.1> нулевой –

+0

Спасибо! Это и ответ Джеба оба работали как шарм! Хотя для отображения текста требуется минута, это должно сработать! : D – knorberg

ответ

3

Как вы находитесь в цикле.

Пинг требует некоторое время, чтобы обнаружить, что цель недоступна.
Итак, вы видите это на экране.

После первого теста выполняется cls и отображается ваш текст.
Но, когда вы снова запускаете тест, вы получаете также вывод ping.

Просто перенаправить вывод nul

ping 188.138.32.53 -n 1 > nul 2>nul 
+0

Это работает! Благодаря! – knorberg