批处理find命令可以同时判断两种条件吗
托管服务器的问题,我有一个电脑,要求开机运行批处理,然后一直ping某一个IP,如果发现屏不通,则自动重新启动电脑。别人给我写了一个,但是有些问题。@echooff;pi...
托管服务器的问题,我有一个电脑,要求开机运行批处理,然后一直ping某一个IP,如果发现屏不通,则自动重新启动电脑。别人给我写了一个,但是有些问题。
@echo off
;ping
@ping 192.168.123.35 |find "timed out" >nul 2>nul && @echo 1个网络不通ping下一个 && goto :ping1
@echo 网络良好反回ping第一个 && goto :ping
:ping1
@ping 192.168.123.36 |find "timed out" >nul 2>nul && @echo 2个网络不通ping下一个 && goto :ping2
@echo 网络良好反回ping第一个 && goto :ping
:ping2
@ping 192.168.123.9 |find "timed out" >nul 2>nul && @echo 3个网络不通开始关机 && goto :shutdown
@echo 网络良好反回ping第一个 && goto :ping
:shutdown
shutdown -s
我明白这段代码的意思,是在文本中找 timed out,但是今天发现网络不通的时候没有关机,自己屏了下122.138.117.38,结果返回
reply from 221.8.239.94: TTL expired in transit。
批处理在这里没有找到timed out就认为网络是通了,结果造成了麻烦,我想问的是,find命令有没有“或or”的情况,同时判断如果找到"time out"的数量大于2,或者“transit”的数量大于2,都显示网络不通进行跳转? 展开
@echo off
;ping
@ping 192.168.123.35 |find "timed out" >nul 2>nul && @echo 1个网络不通ping下一个 && goto :ping1
@echo 网络良好反回ping第一个 && goto :ping
:ping1
@ping 192.168.123.36 |find "timed out" >nul 2>nul && @echo 2个网络不通ping下一个 && goto :ping2
@echo 网络良好反回ping第一个 && goto :ping
:ping2
@ping 192.168.123.9 |find "timed out" >nul 2>nul && @echo 3个网络不通开始关机 && goto :shutdown
@echo 网络良好反回ping第一个 && goto :ping
:shutdown
shutdown -s
我明白这段代码的意思,是在文本中找 timed out,但是今天发现网络不通的时候没有关机,自己屏了下122.138.117.38,结果返回
reply from 221.8.239.94: TTL expired in transit。
批处理在这里没有找到timed out就认为网络是通了,结果造成了麻烦,我想问的是,find命令有没有“或or”的情况,同时判断如果找到"time out"的数量大于2,或者“transit”的数量大于2,都显示网络不通进行跳转? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询