找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24067|回复: 8

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

[复制链接]
发表于 2008-10-15 14:10:42 | 显示全部楼层 |阅读模式
我想实现如果功能:
ping一个IP,用find查找ping的结果(设发现"bytes=32"字符串,就说明ping通)。然后用if来判断find是否找到了"bytes=32"字符串。如果找到就"echo ping通",没找到就"echo 未ping通"。

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

[ 本帖最后由 jackychen0 于 2008-10-15 23:33 编辑 ]
发表于 2008-10-15 14:33:35 | 显示全部楼层
用||和&&即可判断。
  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 编辑 ]
 楼主| 发表于 2008-10-16 00:47:50 | 显示全部楼层
多谢多谢!
我想问一下,下面这句开头的@符号有什么用?好像我用不用都一样的结果。
  1. @ping www.baidu.com>nul&&echo ping通||echo 未ping通
复制代码

[ 本帖最后由 jackychen0 于 2008-10-16 00:49 编辑 ]
发表于 2008-10-16 01:37:00 | 显示全部楼层
@ping www.baidu.com>nul

后面已经>nul了,前面用不用@都无所谓
 楼主| 发表于 2008-10-16 20:45:59 | 显示全部楼层
还有个不明白的地方,下面这句是什么意思?equ 0怎么理解?
if %errorlevel% equ 0
不好意思,因为我正在学习阶段,问得问题可能有点过于简单。
发表于 2008-10-16 21:03:05 | 显示全部楼层

回复 5楼 的帖子

if /?
  1.     EQU - 等于
  2.     NEQ - 不等于
  3.     LSS - 小于
  4.     LEQ - 小于或等于
  5.     GTR - 大于
  6.     GEQ - 大于或等于
复制代码
 楼主| 发表于 2008-10-16 21:53:18 | 显示全部楼层
差不多了解啦,这个论坛真不错,回复速度真够快,多谢各位的帮忙!
发表于 2008-10-16 22:02:44 | 显示全部楼层

回复 4楼 的帖子

前面加@是不回显命令本身,>nul是不显示命令结果
发表于 2008-10-18 19:17:22 | 显示全部楼层
  1. if/?
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-5-30 14:28

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表