java 调用bat脚本 等待返回_java程序调用bat脚本
运用Java程序控制某个应用程序的运行(以网易云音乐为例),步骤如下
1、建立bat文件分别是start.bat(控制程序的运行)和kill.bat(控制程序的结束);
start.bat 的内容如下,功能是运行程序:
cmd /c start F:\\00网易云音乐\\CloudMusic\\cloudmusic.exe
exit
具体情况可以视具体情况改写你的应用的安装路径即可
kill.bat的内容如下,功能是结束程序进程:
taskkill /f /im "cloudmusic.exe"
exit
注意:两个文件要与应用软件的目录在同一目录下
2、找到网易云或者其他应用程序的安装目录我的是F:\00网易云音乐\CloudMusic\;
3、编写Java代码控制应用的运行如(让应用后运行,运行一段时间后突然结束,一会儿又好了,如此反复)将程序的开始时间和结束时间的间隔调到很小的话,是不是一个恶搞的小程序了,让你的小伙伴很烦恼啊,听歌时断时续。啦啦啦
4、附上代码,关键部分都有备注。
package haowan;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
public class haowan {
public void runbat(String batName) { //启动网易云音乐
String cmd = "cmd /c start F:\\00网易云音乐\\CloudMusic\\"+ batName + ".bat";//网易音乐安装目录E:/wyyyy/CloudMusic/
try {
Process ps = Runtime.getRuntime().exec(cmd);
ps.waitFor();
} catch (IOException ioe) {
ioe.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("开启网易云音乐");
}
public void shutbat(String batName) { //关闭网易云音乐
String cmd = "cmd /c start F:\\00网易云音乐\\CloudMusic\\"+ batName + ".bat";//网易音乐安装目录E:/wyyyy/CloudMusic/
try {
Process ps = Runtime.getRuntime().exec(cmd);
ps.waitFor();
} catch (IOException ioe) {
ioe.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("关闭网易云音乐");
}
public static void main(String[] args) {
Timer timer = new Timer();//时间控制器
timer.schedule(new TimerTask() {
public void run() {
haowan haowan = new haowan();
haowan.runbat("start");
}
}, 3000 , 300000);//3秒开始运行网易云音乐每5分钟秒重新开启一次
Timer timer2 = new Timer();//时间控制器
timer.schedule(new TimerTask() {
public void run() {
haowan haowan = new haowan();
haowan.runbat("kill");
}
}, 295000 , 300000);//4分55秒关闭运行网易云音乐每5分钟关闭一次
}
}
java 调用bat脚本 等待返回_java程序调用bat脚本相关推荐
- 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程)
本篇记录说明 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程,详细内容可私信交流) (第一次写博客,写得不好的地方见谅,面向新手,大佬请无视,不喜勿喷 ...
- JAVA多线程执行,等待返回结果,再执行
JAVA多线程执行,等待返回结果,再执行 1.实现callable接口 1)配置线程池 package com.neusoft.demo.server.config;import org.spring ...
- arm64 linux 除零正常返回,arm64程序调用规则
前言 这篇主要介绍arm64程序调用规则,详细分析了程序调用过程中,参数是如何传递的.Android.iOS.Linux等基本遵循这些规则,但是各个操作系统平台也有小部分自己特定的规则.下一篇,我将介 ...
- oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...
java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...
- java如何调用父类的实例对象_java子类调用父类的方法中包含子类重写的实例方法...
java子类调用父类的方法中包含子类重写的实例方法 # 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了 # 先看代码: public class Common { public static ...
- java如何用c 的方法_JAVA如何调用C/C++方法
JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能.解决JAVA对本地操作的一种方法就是JNI. JAVA通过JNI调用本地方法, ...
- python脚本编程实例_C程序调用Python脚本的例子
下面我们一起来看看关于C程序调用Python脚本的例子,如果你对此有兴趣的希望此教程对各位同学会有所帮助. 代码如下 复制代码 #include int main(){ PyObject * g_pM ...
- c语言调用c 的库,C语言程序调用C库函数方法
C语言程序调用C 库函数方法,关键是函数名字解析问题. 其实实现起来不是很难. 使用关键字 extern \"C\" 可以使得C 编译器生成的函数名满足C语言的要求 例子如下: 链 ...
- java hive查询_java程序调用hive查询的一个异常
最近在java程序中调用hive做查询时,碰到一个异常,被困扰了许久,经过几番调试,逐步把问题定位清楚. 在异常描述前先给出异常信息:java.sql.SQLException: Error whil ...
- java中级招聘要求怎么写_Java程序员如何进阶,一般招聘都有哪些要求?
原标题:Java程序员如何进阶,一般招聘都有哪些要求? 作为当前市场上应用领域最广.人才需求最大的编程语言,Java一直是人们入行IT行业的选择.然而,随着大批量的人涌入Java开发行业,企业的招聘门 ...
最新文章
- python 导入 包
- 苹果电脑右键怎么按_天正CAD右键菜单怎么改为CAD默认右键菜单?
- uniapp中vuex状态管理
- P4166 [SCOI2007]最大土地面积
- C++学习003-#define 自定义宏
- MySQL探索(一):B-Tree索引
- 2018年工业机器人销量排位_2020年全球工业机器人现状与竞争情况 中国为全球最大供应国...
- 独占设备的分配与回收_灵魂拷问:Java对象的内存分配过程是如何保证线程安全的?...
- elk系列1之入门安装与基本操作
- 存储计算解耦合,构建中国人英语语音数据库
- 旭辉集团签约帆软软件,打造地产行业数字化转型新标杆
- java2的7次方怎么表示_一元二次方程常见题型之方程根的解法
- 测试用例的八大设计方法
- python学习网站-关于python学习,最系统的学习网站看这里
- VUE如何关闭Eslint的方法
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之灯光介绍Lights...
- 计算机操作系统(汤小丹)慕课版课后题答案第五章:储存器管理
- c语言家庭财务管理算法,c语言家庭财务管理报告.doc
- OpenKG开源系列 | 面向知识的推理问答编程语言KoPL(清华大学)
- 【Linux】一步一步学Linux系列教程汇总(更新中......)