如何在批处理

时间:2015-12-19 01:17:19

标签: batch-file cmd ping

所以我的任务是匹配一个批处理脚本,它会ping一个ip然后打印,如果有响应,我试图做的是先ping,然后将其保存在文本文件中,然后使用如果语句如此,如果字符串包含文本请求超时,则会显示IP不可用。

这是我的示例代码

@echo off
cls
echo Executing ping....
ping 123.456.789 >> output.txt
pause
echo Here are the results:
findstr "Request" output.txt
if %finstr% == "Request" {
echo IP does exist
}
else {
echo IP does exist
}

我试图使用findstr来获取字符串,但这将涉及保存字符串并进行比较,但我不知道该怎么做。你得到它的主旨。谢谢,所有的帮助非常感谢。

post scriptum:if语句是我认为的样子,因为我从来没有批处理编程我是新手

1 个答案:

答案 0 :(得分:1)

我建议采用更好的方法; ERRORLEVEL。

 @echo off
 ping -n 1 192.168.1.1 > NUL
 if ERRORLEVEL 1 (
   echo Host is down.
 ) else (
   echo Host is up.
 )

如果ping成功,ERRORLEVEL将为零。如果失败,ERRORLEVEL将为1(如果由于其他原因导致失败,则可能更高,我认为if ERRORLEVEL 1> = {1}} ERRORLEVEL测试。