批处理,循环ping一个ip,如果能通,则执行一个命令,不通则继续ping,循环10次?
自己写了个,但是不能正常运行,麻烦高手解决下。setIP=192.168.0.1cls&@echoofffor/L%%iin(1,1,10)do(ping-n2%IP%|...
自己写了个,但是不能正常运行,麻烦高手解决下。
set IP=192.168.0.1
cls & @echo off
for /L %%i in (1,1,10) do(
ping -n 2 %IP% |findstr /i "请求超时。">nul && echo 主机没有活动 || goto start)
:start
echo 开始调用tcp_client_win
start /min /b tcp_client_win.exe
exit 展开
set IP=192.168.0.1
cls & @echo off
for /L %%i in (1,1,10) do(
ping -n 2 %IP% |findstr /i "请求超时。">nul && echo 主机没有活动 || goto start)
:start
echo 开始调用tcp_client_win
start /min /b tcp_client_win.exe
exit 展开
3个回答
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI
复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 根据ping指定ip的通断情况执行不同操作
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set ip=192.168.0.1
set count=10
set n=1
:loop
echo;[%n%]Pinging……
ping -w 15 -n 2 %ip%|>nul find /i "TTL="&&(echo;OK&goto break)||(echo;NO)
set /a n+=1
if %n% gtr %count% goto end
goto loop
:break
start /min /b tcp_client_win.exe
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
展开全部
代码基本没什么问题
:start上面加一行exit,用来阻断for命令结束后,重复执行start里面的命令
建议在ping下面加个pause命令,看看每次执行情况,这样就知道问题所在了。
:start上面加一行exit,用来阻断for命令结束后,重复执行start里面的命令
建议在ping下面加个pause命令,看看每次执行情况,这样就知道问题所在了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for /L %%i in (1,1,10) do(
ping -n 2 %IP% |findstr /i "请求超时。">nul && echo 主机没有活动 || goto start)
改成
for /L %%i in (1,1,10) do ping -n 2 %IP% |findstr TTL goto start
goto :eof
ping -n 2 %IP% |findstr /i "请求超时。">nul && echo 主机没有活动 || goto start)
改成
for /L %%i in (1,1,10) do ping -n 2 %IP% |findstr TTL goto start
goto :eof
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询