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

[文本处理] 如何实现从ping命令结果中查找指定字符串并以响铃提示查找成功?

[复制链接]
发表于 2016-3-8 21:02:09 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-3-8 21:13 编辑

ping命令 查寻特征字符串,如果查找成功就响铃提示,现在的结果是不管成功失败都响铃
  1. for /L %i in (1,1,5) do ping -a -n 1 192.168.1.%i|find /i "mypc" >null && echo ^G
复制代码

评分

参与人数 1PB -2 收起 理由
pcl_test -2 未按版规发帖

查看全部评分

 楼主| 发表于 2016-3-8 21:22:45 | 显示全部楼层
我又将上面的代码复制一遍在cmd中运行,发现都不响铃。 要将^GS删除,然后按alt+7, 这样修改过的代码运行后就碰到我要问的问题。
 楼主| 发表于 2016-3-9 00:00:55 | 显示全部楼层
回复 3# happy886rr

试了,还是不行
发表于 2016-3-9 00:12:29 | 显示全部楼层
本帖最后由 happy886rr 于 2016-3-9 10:12 编辑

回复 4# fans60
试下这个屡试屡爽。
  1. @echo off
  2. for /L %%i in (2,1,5) do (
  3.         ping -a -n 1 192.168.1.%%i|find /i "%Computername%" && goto ring
  4. )
  5. echo IP地址无法访问
  6. pause>nul
  7. exit
  8. :ring
  9. echo Ring!Ring!Ring!
  10. pause>nul
复制代码
另外192.168.1.1是路由器的地址,ping过去会卡壳
始步从2走好些.你的意思是要这个
  1. for /L %%i in (1,1,5) do (ping -a -n 1 192.168.1.%%i|find /i "%Computername%" && echo ^G)
复制代码
发表于 2016-3-9 00:51:47 | 显示全部楼层
用python
print("\a")
发表于 2016-3-9 00:52:31 | 显示全部楼层
回复 4# happy886rr


    CMD 上按crtl + G
发表于 2016-3-9 01:04:46 | 显示全部楼层
http://www.bathome.net/thread-12347-1-2.html
扩展ASCII码字符集0x00~0xff 批处理获取函数
发表于 2016-3-9 01:51:28 | 显示全部楼层
python
  1. os.system("echo \a")
复制代码
发表于 2016-3-9 02:46:08 | 显示全部楼层
  1. mshta http://bathome.net/s/hta/ String.fromCharCode(7)|more
复制代码
 楼主| 发表于 2016-3-9 08:50:38 | 显示全部楼层
回复 4# happy886rr


两个都试了下,上面那个放在bat中执行,最后确实显示了字符,我要的是下面那种,但是还是一样,每次都响铃,你成功了吗?
 楼主| 发表于 2016-3-9 08:57:47 | 显示全部楼层
回复 9# CrLf


这个好像不错,我看看用这个来响铃,但是我贴的那个为什么达不到效果呢?
发表于 2016-3-9 09:15:18 | 显示全部楼层
回复 11# fans60


    字符被转义了。你可以mshta http://bathome.net/s/hta/ String.fromCharCode(7)>x.txt
然后每次使用时type x.txt
发表于 2016-3-9 15:29:06 | 显示全部楼层
回复 10# fans60
加了vbs模拟按键,ping到了一定要跳出来,否则还在循环浪费时间。
这下基本没问题了。就是那几个按键代码"^{ESC}M"、"^G"你根据自己当前的响铃按键自己改

  1. @echo off
  2. for /L %%i in (2,1,5) do (
  3.         ping -a -n 1 192.168.1.%%i|find /i "%Computername%" && goto ring
  4. )
  5. exit
  6. :ring
  7. mshta "vbscript:createobject("wscript.shell").sendkeys("^{ESC}M")(window.close)"
  8. mshta "vbscript:createobject("wscript.shell").sendkeys("^G")(window.close)"
  9. pause>nul



复制代码
 楼主| 发表于 2016-3-9 20:55:54 | 显示全部楼层
回复 13# happy886rr

嗯, 谢了,中断for循环我也试过,一开始用的goto(在cmd中,没有放在bat中),失败了。你的可以成功推出for循环,但是还是没有响铃。
发表于 2016-3-9 21:04:01 | 显示全部楼层
回复 14# fans60
最终就在按键代码上,

  1. mshta "vbscript:createobject("wscript.shell").sendkeys("^{ESC}M")(window.close)"
  2. mshta "vbscript:createobject("wscript.shell").sendkeys("^G")(window.close)"
复制代码
这两行的按键发送是成功,我都用它来自动打字。只是不知你电脑得响铃快捷键是怎么设置的。ctrl+G还是其他键响铃。for循环绝对没问题,放bat里运行才行。
就是按键代码你稍微改改就能打开响铃了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 23:02 , Processed in 0.016980 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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