[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助批处理定时检测外网IP改变后重启指定程序?

我要的批处理效果是:
1、每隔2分钟检测一下外网IP,当它发生改变时(可以在本电脑上设一个外网IP的文本,当它与外网IP不符时)就执行动作!
2、动作是:关闭已经运行的十个程序,再打运行这十个程序,再关闭,再打运行,再把上面说的外网IP文本的旧外网IP改成新的外网IP,再执行每隔2分钟的IP检测。就这样循环!

当时如果不用批处理能达到这样效果的也可以。希望高手帮帮忙!!!

也可以联系我的QQ:43143520

  这里有几个问题需要解决:
  1、纯批处理获取外网的能力很弱,并且不可靠,需要借助其他方法,比如第三方命令行程序、比如VBS;
  2、每隔2分钟检测一次,如果用纯批处理中的ping方案来做的话,会十分耗费系统资源,有可能导致CPU飙升至100%;如果使用系统的计划任务来做,at的时间间隔是以小时计算,而XP上的schtasks时间间隔可以以分钟来计算;不过这两个命令都需要开启计划任务服务,并且schatasks需要以管理员权限运行,通用性折扣大为降低;可以考虑使用VBS或第三方命令行如sleep.exe来做延时;
  3、关闭程序可以通过taskkill命令以关闭进程的方式来实现;
  4、改变外网IP?貌似只能在路由器或服务器上设置,本机是无法改变的吧?
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

再求助。
1、可以改为20分钟检测一次IP,IP可以在这里得到
Getip.vbs echo Set oDOM=WScript.GetObject("http://www.ip138.com/ip2city.asp")
2、最主要的是检测到http://www.ip138.com/ip2city.asp 得到的IP与在本机D盘的ip.txt里面的IP不一致时,就执行taskkill命令,还有运行的,但都要有延时,最好是五秒。
3、因为IP是电信给的,和路由器没关系。我说的是当电信给的IP改变时,就帮我检测它是不是改变了,如果改了就执行动作。不是我要改变IP。
####主要帮我写个能运行动作的工具,比如:IF http://www.ip138.com/ip2city.asp 的IP不等于 d:\ip.txt 里的IP时,就运行 D:\IP.bat    当然IP.bat是运行和关闭程序的。顺便告诉怎么延时taskkill 程序。就是隔五秒关一个。我有十个程序要关。
可以的话,最好帮我写出来,加以说明,不胜感谢啊!!!

TOP

回复 3楼 的帖子

参考:批处理中的延时
http://bbs.bathome.net/viewthread.php?tid=233
http://bbs.bathome.net/viewthread.php?tid=3693#pid23312

Q: 如何使用论坛搜索功能来解决自己的问题?
A: 参考:http://bbs.bathome.net/thread-3473-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表