Board logo

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

作者: fans60    时间: 2016-3-8 21:02     标题: 如何实现从ping命令结果中查找指定字符串并以响铃提示查找成功?

本帖最后由 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
复制代码

作者: fans60    时间: 2016-3-8 21:22

我又将上面的代码复制一遍在cmd中运行,发现都不响铃。 要将^GS删除,然后按alt+7, 这样修改过的代码运行后就碰到我要问的问题。
作者: fans60    时间: 2016-3-9 00:00

回复 3# happy886rr

试了,还是不行
作者: happy886rr    时间: 2016-3-9 00:12

本帖最后由 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)
复制代码

作者: codegay    时间: 2016-3-9 00:51

用python
print("\a")
作者: codegay    时间: 2016-3-9 00:52

回复 4# happy886rr


    CMD 上按crtl + G
作者: codegay    时间: 2016-3-9 01:04

http://www.bathome.net/thread-12347-1-2.html
扩展ASCII码字符集0x00~0xff 批处理获取函数
作者: 依山居    时间: 2016-3-9 01:51

python
  1. os.system("echo \a")
复制代码

作者: CrLf    时间: 2016-3-9 02:46

  1. mshta http://bathome.net/s/hta/ String.fromCharCode(7)|more
复制代码

作者: fans60    时间: 2016-3-9 08:50

回复 4# happy886rr


两个都试了下,上面那个放在bat中执行,最后确实显示了字符,我要的是下面那种,但是还是一样,每次都响铃,你成功了吗?
作者: fans60    时间: 2016-3-9 08:57

回复 9# CrLf


这个好像不错,我看看用这个来响铃,但是我贴的那个为什么达不到效果呢?
作者: codegay    时间: 2016-3-9 09:15

回复 11# fans60


    字符被转义了。你可以mshta http://bathome.net/s/hta/ String.fromCharCode(7)>x.txt
然后每次使用时type x.txt
作者: happy886rr    时间: 2016-3-9 15:29

回复 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
复制代码

作者: fans60    时间: 2016-3-9 20:55

回复 13# happy886rr

嗯, 谢了,中断for循环我也试过,一开始用的goto(在cmd中,没有放在bat中),失败了。你的可以成功推出for循环,但是还是没有响铃。
作者: happy886rr    时间: 2016-3-9 21:04

回复 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里运行才行。
就是按键代码你稍微改改就能打开响铃了。
作者: fans60    时间: 2016-3-9 22:10

回复 15# happy886rr


    是放在bat中执行的,但是还是没响铃。我电脑cmd下响铃键确实是Ctrl+G。能不能把你成功的bat文件附件发给我一份,谢了。
作者: WHY    时间: 2016-3-9 22:56

"纯正的批处理"
echo;
作者: fans60    时间: 2016-3-9 23:21

回复 17# WHY


  谢了,这个确实能用
作者: pcl_test    时间: 2016-3-9 23:28

  1. @echo off
  2. for /f "delims=Y" %%a in ('cmd /u /c echo 备') do set "bel=%%a"
  3. echo;%bel%
  4. pause
复制代码

作者: happy886rr    时间: 2016-3-9 23:35

回复 17# WHY
好一个看不见的07,这招倒是省的按键了.
作者: fans60    时间: 2016-3-10 09:23

回复 19# pcl_test


    最后为什么会输出Y呢?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2