Board logo

标题: [系统相关] [已解决]谁能帮我写一个ping不通执行相应操作的批处理? [打印本页]

作者: abnegate    时间: 2010-5-10 02:39     标题: [已解决]谁能帮我写一个ping不通执行相应操作的批处理?

有谁能帮我写一个关于ping不通就报警(一段音乐)或者是执行相应的程序(比如千千静听),谢谢

[ 本帖最后由 abnegate 于 2010-5-18 23:27 编辑 ]
作者: xinje    时间: 2010-5-10 03:04

批处理我不太了解,这个写个EXE到比较简单,等高手吧。
作者: sgaizxt001    时间: 2010-5-10 06:00

@echo off
ping 192.168.0.48 -n 1 -w 1000 >nul || start "" "e:\网络游戏\大话西游\xy2.exe"

你改一下相应的地方
作者: hanyeguxing    时间: 2010-5-10 08:14

以下代码分别借助sndrec32(系统自带录音机,只支持wav格式)、mplayerc.exe(暴风影音)的 /play /close 参数(播放完成后自动关闭退出播放器程序)。
隐藏播放器窗口:
  1. @echo off
  2. echo.strSoundFile = "%SystemRoot%\Media\Windows XP 注销音.wav">hanye.vbs
  3. echo.Set objShell = CreateObject("Wscript.Shell")>>hanye.vbs
  4. echo.strCommand = "sndrec32 /play /close " ^& chr(34) ^& strSoundFile ^& chr(34)>>hanye.vbs
  5. echo.objShell.Run strCommand, 0, True>>hanye.vbs
  6. ping -n 1 192.168.1.2||cscript //nologo hanye.vbs&del hanye.vbs
复制代码
如果觉得无压缩wav格式体积过大,可以使用sndrec32直接压缩转换。

最小化播放器窗口:
  1. ping -n 1 192.168.1.2||start "" "%ProgramFiles%\Ringz Studio\Storm Codec\mplayerc.exe" /play /close /minimized "G:\Documents\My Music\What Becomes Of Us.mp3"
复制代码
暴风影音mplayerc.exe的命令行参数:
作者: semiuel    时间: 2010-5-10 16:19

  1. @echo off
  2. title 检测网络状态
  3. mode con: cols=35 lines=2
  4. :begin
  5. ping -n 2 192.168.1.1 >nul
  6. if "%errorlevel%"=="0" (cls & echo 网络通畅,电脑将继续运行) else (echo 网络断开,电脑将在一分钟后关机 & goto shutdown)
  7. goto begin
  8. :shutdown
  9. shutdown -s -f -t 60
复制代码

[ 本帖最后由 semiuel 于 2010-5-10 16:23 编辑 ]
作者: q359032665    时间: 2010-5-10 21:25     标题: 回复

PING *.*.*.*
IF EXIST NOT ERRORLEVER 0| [执行的命令,例 del *.bat]
作者: q359032665    时间: 2010-5-10 21:28     标题: @echo off

@echo off
:ping
ping 192.168.1.1
if exist errorlever 1|goto ping
这样如果错误指令的话就跳转到初始位置继续运行.
作者: abnegate    时间: 2010-5-10 21:28

感谢你们的参与并为我的问题提供了答案,可是为什么我复制下来后用还是不行?没有一点反应,希望各位能够详细点说。。谢谢了
作者: hanyeguxing    时间: 2010-5-10 21:39

原帖由 abnegate 于 2010-5-10 21:28 发表
感谢你们的参与并为我的问题提供了答案,可是为什么我复制下来后用还是不行?没有一点反应,希望各位能够详细点说。。谢谢了
你复制了哪段代码???
作者: abnegate    时间: 2010-5-12 19:35

原帖由 hanyeguxing 于 2010-5-10 21:39 发表
你复制了哪段代码???


都有试,但是不知道是不是我自己的问题还是怎么回事,老是不行。有没有完整可行的呢???
作者: sgaizxt001    时间: 2010-5-12 22:57

不大可能哦,我的代码当时写的时候是测试过了的。
你修改192.168.0.48为你要ping的IP,e:\网络游戏\大话西游\xy2.exe修改为你要启动的程序(包括完整路径)。
作者: Batcher    时间: 2010-5-12 23:41     标题: 回复 8楼 的帖子

调试批处理代码的方法:
不要双击运行
把代码保存为C:\test.bat
把@echo off删除
开始
运行
cmd
C:\test.bat
看看执行过程再好好想想,如果想不通,就贴出来让别人帮你讲解。
作者: changzhi    时间: 2010-5-15 17:38

  1. @echo off
  2. echo 在收到报警后请手动结束 wmplayer.exe,
  3. ping www.baidu.com -n 1 -w 1000 >nul || mshta vbscript:createobject("wscript.shell").run("wmplayer.exe http://rm.sina.com.cn/wm/VZ200708161037153290VK/music/1.mp3/20091229/90e6bhttp:/rm.sina.com.cn/wm/VZ200708161037153290VK/music/1.mp3/20091229/90e6ba45adf30ca3abfe28.mp3a45adf30ca3abfe28.mp3",o)
  4. 如果测试百度不通就播放音乐了,你也可以换成本地的哦。
复制代码

作者: abnegate    时间: 2010-5-16 17:01

原帖由 sgaizxt001 于 2010-5-12 22:57 发表
不大可能哦,我的代码当时写的时候是测试过了的。
你修改192.168.0.48为你要ping的IP,e:\网络游戏\大话西游\xy2.exe修改为你要启动的程序(包括完整路径)。


非常感觉你提供的代码,经测试,你的代码确实可以用的,还要谢谢batcher管理员。谢谢你的指点
作者: abnegate    时间: 2010-5-16 17:10

原帖由 Batcher 于 2010-5-12 23:41 发表
调试批处理代码的方法:
不要双击运行
把代码保存为C:\test.bat
把@echo off删除
开始
运行
cmd
C:\test.bat
看看执行过程再好好想想,如果想不通,就贴出来让别人帮你讲解。




现在还有一个问题:
@echo off
title 测试网络
mode con: cols=25 lines=2
color 1e
:pp
ping 192.168.1.100 -n 1 -w 1000 >nul || Echo 网络断线,请检查线路&& start "" "D:\Media\Player\TTPlayer\千千静听5.2.exe"
goto pp

上面是我修改过后的,但是有一点就是如果我循环ping,遇到断线它就会一直去启动千千静听,能不能修改的下检测千千静听有没有在运行,有运行的话就不再启动,不然的话电脑操作起来很麻烦。
还有一个就是批处理的窗口能不能隐藏起来,然而让自己也可以看得到它有没有在运行???
作者: Batcher    时间: 2010-5-19 00:10     标题: 回复 15楼 的帖子

可以先用tasklist看看千千静听的进程是否存在
作者: sgaizxt001    时间: 2010-5-19 00:20

@echo off
title 测试网络
mode con: cols=25 lines=2
color 1e
:pp
ping 192.168.1.100 -n 1 -w 1000 >nul || Echo 网络断线,请检查线路&& goto A
goto pp
:A
start "" "D:\Media\Player\TTPlayer\千千静听5.2.exe"
exit

这样的话,只要ping不通就启动千千静听,然后退出了,不过应该没什么大问题,反正报警了。
既要隐藏起来,又要让自可以看到?隐藏的话好象可以通过计划任务添加运行,然后通过看任务管理器,如果有ping.exe,cmd.exe那就说明有可能是在运行这个程序




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