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程序调用远程Shell脚本
此程序的目的是执行远程机器上的Shell脚本. [环境参数]远程机器IP:192.168.234.123用户名:root密码:rootShell脚本的路径:/home/IFileGenTool/Bak ...
- Java程序调用带参数的shell脚本返回值
Java程序调用带参数的shell脚本返回值 首先来看看linux中shell变量(\(#,\)@,$0,$1,\(2)的含义解释 变量说明: - \)$ Shell本身的PID(ProcessI ...
- 使用Runtime.getRuntime().exec()在java中调用python脚本
举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本.假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用ja ...
- 通过java程序调用ant build.xml配置文件中指定的target
一.概述 通过ant实现项目的自动化部署,jar包生成,替换,tomcat关停.启动,查看项目日志: 通过java程序调用已编辑好的ant脚本build.xml配置文件中指定的target: 文中文件 ...
- java程序调用存储过程
java程序调用存储过程 PL/SQL子程序,很多情况下是给应用程序来调用的,所有我们要掌握使用其他编程语言来调用我们写好的存储过程.下面我们介绍下使用java调用Oracle的存储过程. ...
- C程序调用shell脚本共有三种方法
C程序调用shell脚本共有三种法子 :system().popen().exec系列函数call_exec1.c ,内容为:system() 不用你自己去产生进程,它已经封装了,直接加入自己的命令e ...
- java程序调用存储过程和存储函数
java程序调用存储过程 jdbcUtil.java文件 package cn.itcast.oracle.utils; import java.sql.Connection; import java ...
- Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件
本文通过Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件,代码如下: import java.io.File; import java.io.IOException; import ...
- C#应用程序隐藏调用bat脚本
做c#应用程序有些调用windows自带的bat脚本会比较方便 Process proc; proc = null; try { string targetDir = GetParentUrl() + ...
随机推荐
- B - Archer
Problem description SmallR is an archer. SmallR is taking a match of archer with Zanoes. They try to ...
- magento 用程序生成优惠劵码
参考自http://fragmentedthought.com/fragments/programatically-creating-sales-rule-coupon-code 上面的代码只能生成C ...
- 转 【TTS】AIX平台数据库迁移到Linux--基于RMAN(真实环境)
[TTS]AIX平台数据库迁移到Linux--基于RMAN(真实环境) http://www.cnblogs.com/lhrbest/articles/5186933.html 各位技术爱好者,看完本 ...
- jmeter(十二)处理Cookie与Session
JMeter的工作原理是: JMeter可以作为Web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和Web服务器的响应,这样就很容易地生成性能测试脚本, 有了性能测试脚本,JMeter就可以通过 ...
- RFTWEB测试对象抓取的方法
本文转自:http://feiyeguohai.iteye.com/blog/1468576 Rational Functional Tester (RFT) 作为 IBM 自己设计研发的自动化测试工 ...
- iOS:swift :可选类型
import UIKit /*: 可选类型 * 可选类型表示变量可以有值, 也可以没有值 * C 和 Objective-C 中并没有可选类型这个概念 * Swift中只有可选类型才可以赋值为nil ...
- Android Studio 打包APK时,出现3个或多个APK
Android Studio 打包APK时,原来只会出现一个apk,结果现在出现3个apk,仔细检查了一下项目文件发现: Android Studio 的 buid.gradle文件里有个配置项被更改 ...
- node.js入门之二
NPM 1.NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM ...
- 【译】x86程序员手册37-第10章 初始化
Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 a ...
- Java EE 目标
在大三上学期学习了Java se,只是简单的学习了语法,而且没有及时的复习巩固,语法知识已经忘了许多.在这个新学期,又有了Java EE这门课,书上的内容是从没学习过的新知识,只是在网站上看到过像Sp ...