如何用批处理写一段判断语句
5个回答
2013-08-22
展开全部
@echo off
ping -n 1 192.168.0.1| find "Request timed out" && goto timeout
pause
exit
:timeout
echo ip地址无法ping通>ping.log
pause
exit
将以上文字存成myping.bat就可以了
如果你想执行一个带参数的bat的话
@echo off
ping -n 1 %1| find "Request timed out" && goto timeout
pause
exit
:timeout
echo ip地址无法ping通>ping.log
pause
exit
将以上文字存成myping2.bat
在myping2文件所在目录里执行
myping2 ip地址即可
如果ping不通,则将“ip地址无法ping通”写入ping.log文件中。
ping -n 1 192.168.0.1| find "Request timed out" && goto timeout
pause
exit
:timeout
echo ip地址无法ping通>ping.log
pause
exit
将以上文字存成myping.bat就可以了
如果你想执行一个带参数的bat的话
@echo off
ping -n 1 %1| find "Request timed out" && goto timeout
pause
exit
:timeout
echo ip地址无法ping通>ping.log
pause
exit
将以上文字存成myping2.bat
在myping2文件所在目录里执行
myping2 ip地址即可
如果ping不通,则将“ip地址无法ping通”写入ping.log文件中。
2013-08-22
展开全部
批处理也得对结构进行判断,其步骤是:对了自己的IP好像总能ping通
先用命令 ping IP >C:\11.txt
然后对11.txt进行字符串判断 如果找到"Request timed out."说明没ping 通把文件删除
没找到就保留文件
这样吧
ping IP>C:\11.txt
For /F "delims=" %%l In (C:\11.txt) Do(
set a = %%l
set b =Request timed
echo %a%|findstr %b%)>nul&&start"" del C:\11.txt
没运行!不知道对不对,自己改改吧 原理就是这样
先用命令 ping IP >C:\11.txt
然后对11.txt进行字符串判断 如果找到"Request timed out."说明没ping 通把文件删除
没找到就保留文件
这样吧
ping IP>C:\11.txt
For /F "delims=" %%l In (C:\11.txt) Do(
set a = %%l
set b =Request timed
echo %a%|findstr %b%)>nul&&start"" del C:\11.txt
没运行!不知道对不对,自己改改吧 原理就是这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-22
展开全部
使用bat现在是没有办法的,需要自己做一个exe了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-22
展开全部
暂时不会在批处理中检查PING的结果。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-22
展开全部
@echo off
rem 关闭回显
for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
rem 获取本机IP
for /f "delims=" %%i in ('ping %ip%') do (
for %%a in (%%i) do (
if %%a==timed (goto error))
)
rem ping本机ip,对获取到的结果逐项判断,如果有"timed"的出现,说明发生了"Request timed out",视为失败,转到error,否则转到exit
goto exit
:error
echo %date% %time% 获取到的IP为%ip%,Ping发生错误>>error.txt
rem 输出错误信息到error.txt
:exit
代码结束,运行时可以把rem注释删掉,以免出错,测试成功的.
rem 关闭回显
for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
rem 获取本机IP
for /f "delims=" %%i in ('ping %ip%') do (
for %%a in (%%i) do (
if %%a==timed (goto error))
)
rem ping本机ip,对获取到的结果逐项判断,如果有"timed"的出现,说明发生了"Request timed out",视为失败,转到error,否则转到exit
goto exit
:error
echo %date% %time% 获取到的IP为%ip%,Ping发生错误>>error.txt
rem 输出错误信息到error.txt
:exit
代码结束,运行时可以把rem注释删掉,以免出错,测试成功的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询