批处理之家's Archiver

abnegate 发表于 2010-5-10 02:39

[已解决]谁能帮我写一个ping不通执行相应操作的批处理?

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

[[i] 本帖最后由 abnegate 于 2010-5-18 23:27 编辑 [/i]]

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 参数(播放完成后自动关闭退出播放器程序)。
隐藏播放器窗口:[code]@echo off
echo.strSoundFile = "%SystemRoot%\Media\Windows XP 注销音.wav">hanye.vbs
echo.Set objShell = CreateObject("Wscript.Shell")>>hanye.vbs
echo.strCommand = "sndrec32 /play /close " ^& chr(34) ^& strSoundFile ^& chr(34)>>hanye.vbs
echo.objShell.Run strCommand, 0, True>>hanye.vbs
ping -n 1 192.168.1.2||cscript //nologo hanye.vbs&del hanye.vbs[/code]如果觉得无压缩wav格式体积过大,可以使用sndrec32直接压缩转换。

最小化播放器窗口:[code]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"[/code]暴风影音mplayerc.exe的命令行参数:

semiuel 发表于 2010-5-10 16:19

[code]
@echo off
title 检测网络状态
mode con: cols=35 lines=2

:begin
ping -n 2 192.168.1.1 >nul
if "%errorlevel%"=="0" (cls & echo 网络通畅,电脑将继续运行) else (echo 网络断开,电脑将在一分钟后关机 & goto shutdown)
goto begin

:shutdown
shutdown -s -f -t 60
[/code]

[[i] 本帖最后由 semiuel 于 2010-5-10 16:23 编辑 [/i]]

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

[quote]原帖由 [i]abnegate[/i] 于 2010-5-10 21:28 发表 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=51880&ptid=7884][img]http://bbs.bathome.net/images/common/back.gif[/img][/url]
感谢你们的参与并为我的问题提供了答案,可是为什么我复制下来后用还是不行?没有一点反应,希望各位能够详细点说。。谢谢了 [/quote]你复制了哪段代码???

abnegate 发表于 2010-5-12 19:35

[quote]原帖由 [i]hanyeguxing[/i] 于 2010-5-10 21:39 发表 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=51883&ptid=7884][img]http://www.bathome.net/images/common/back.gif[/img][/url]
你复制了哪段代码??? [/quote]

都有试,但是不知道是不是我自己的问题还是怎么回事,老是不行。有没有完整可行的呢???

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

[code]@echo off
echo 在收到报警后请手动结束 wmplayer.exe,
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)
如果测试百度不通就播放音乐了,你也可以换成本地的哦。[/code]

abnegate 发表于 2010-5-16 17:01

[quote]原帖由 [i]sgaizxt001[/i] 于 2010-5-12 22:57 发表 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=52001&ptid=7884][img]http://www.bathome.net/images/common/back.gif[/img][/url]
不大可能哦,我的代码当时写的时候是测试过了的。
你修改192.168.0.48为你要ping的IP,e:\网络游戏\大话西游\xy2.exe修改为你要启动的程序(包括完整路径)。 [/quote]

非常感觉你提供的代码,经测试,你的代码确实可以用的,还要谢谢batcher管理员。谢谢你的指点

abnegate 发表于 2010-5-16 17:10

[quote]原帖由 [i]Batcher[/i] 于 2010-5-12 23:41 发表 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=52004&ptid=7884][img]http://www.bathome.net/images/common/back.gif[/img][/url]
调试批处理代码的方法:
不要双击运行
把代码保存为C:\test.bat
把@echo off删除
开始
运行
cmd
C:\test.bat
看看执行过程再好好想想,如果想不通,就贴出来让别人帮你讲解。 [/quote]



现在还有一个问题:
@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那就说明有可能是在运行这个程序

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.