[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 如何用IF来判断FIND是否找到指定的字符串?

我想实现如果功能:
ping一个IP,用find查找ping的结果(设发现"bytes=32"字符串,就说明ping通)。然后用if来判断find是否找到了"bytes=32"字符串。如果找到就"echo ping通",没找到就"echo 未ping通"。

知道思路,但不会写,请教一下,多谢!

[ 本帖最后由 jackychen0 于 2008-10-15 23:33 编辑 ]

用||和&&即可判断。
  1. @ping www.baidu.com>nul&&echo ping通||echo 未ping通
复制代码

或者用if
  1. @echo off
  2. ping www.baidu.com |findstr "bytes=32">nul
  3. if %errorlevel% equ 0 (echo ping通) else echo 未ping通。
  4. pause
复制代码

[ 本帖最后由 pusofalse 于 2008-10-15 23:43 编辑 ]
心绪平和,眼藏静谧。

TOP

多谢多谢!
我想问一下,下面这句开头的@符号有什么用?好像我用不用都一样的结果。
  1. @ping www.baidu.com>nul&&echo ping通||echo 未ping通
复制代码

[ 本帖最后由 jackychen0 于 2008-10-16 00:49 编辑 ]

TOP

@ping www.baidu.com>nul

后面已经>nul了,前面用不用@都无所谓

TOP

还有个不明白的地方,下面这句是什么意思?equ 0怎么理解?
if %errorlevel% equ 0
不好意思,因为我正在学习阶段,问得问题可能有点过于简单。

TOP

回复 5楼 的帖子

if /?
  1.     EQU - 等于
  2.     NEQ - 不等于
  3.     LSS - 小于
  4.     LEQ - 小于或等于
  5.     GTR - 大于
  6.     GEQ - 大于或等于
复制代码
心绪平和,眼藏静谧。

TOP

差不多了解啦,这个论坛真不错,回复速度真够快,多谢各位的帮忙!

TOP

回复 4楼 的帖子

前面加@是不回显命令本身,>nul是不显示命令结果
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

  1. if/?
复制代码

TOP

返回列表