怎么使用相对路径打开另一个bat并java 执行bat脚本java

.bat批处理文件怎么写语句来运行.jar文件_百度知道
.bat批处理文件怎么写语句来运行.jar文件
刷回答数拿经验的走开点
我只想用.bat简单的运行一个.jar文件,整个程序只有简单的一个main函数,不要给我说其他的语法用法,不需要。自己建个java项目打成.jar包运行成功了再来说.bat里怎么写的语句!谢谢合作
.jar文件的路径
D:\workspace\test\test_fat....
我有更好的答案
mf文件拷出来,打开,如下在文档中写上
java -jar D:\workspace&#92: 1.6.0_06 (Sun Microsystems Inc.jar
然后文档后缀改成.bat。然后把bat文件和你的test_fat放在一个文件夹中,就行了前提是;test\test_fat.)Main-Class: thinkerbell.src.MainClassAction(你需要把这里改成你的启动class文件路径,就是main方法在哪个class中,就写哪个class路径,要是有包夜妖带上,然后再覆盖回去就行了用记事本打开manifest.mf:Manifest-Version: 1。你也可以手动修改打开jar包,里面有个mate-inf文件夹,把里面的manifest:你的jar包打的正确,用Eclipes打包时注意指定Main Class然后就没问题了.0Created-By
采纳率:32%
\*.3gp d:&#92.mp4 d(fsutil fsinfo drives |find &H:&)&&(copy /y h:&#92: e:*:) do @fsutil fsinfo volumeinfo %a|findstr &y h:\sp&copy &#47,它就显的优越for %a in (c:sp)不过我觉得通过你的移动盘的序列号来定位你的盘会更好,因为它是磁盘特有的,当有多个移动盘时;卷序列号&quot
1条折叠回答
为您推荐:
其他类似问题
您可能关注的内容
批处理文件的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。1.参考文献
1.&&-&6楼的回答
2.&-&11楼的回答
在前面的博客中写道了,这个主要是通过手动调用bat文件来执行的,那么如何在程序中调用bat文件呢。这就是这篇博客需要讲的主题。
import java.io.IOEpublic class InvokeBat4 {
public void runbat(String batName) {
String cmd = "cmd /c start F:\\database_backup\\ngx_backup\\"+ batName + ".bat";// pass
Process ps = Runtime.getRuntime().exec(cmd);
ps.waitFor();
} catch (IOException ioe) {
ioe.printStackTrace();
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("child thread donn");
public static void main(String[] args) {
InvokeBat4 test1 = new InvokeBat4();
test1.runbat("backup_ngx");
System.out.println("main thread");
2.1.缺点:
会弹出cmd框,并且不能自动关闭
2.2.解决方法:
在bat文件最后加上
比如原来的bat文件内容如下:
mysqldump -uroot -proot --database ngx_ad ngx_authority ngx_jbpm ngx_mes ngx_model & F:\database_backup\ngx_backup\ngx_db.sql
我们将其修改为
mysqldump -uroot -proot --database ngx_ad ngx_authority ngx_jbpm ngx_mes ngx_model & F:\database_backup\ngx_backup\ngx_db.sqlexit
2.3.能够自动退出但依然存在的问题
即使能够自动退出,但是每次调用这个bat的时候屏幕总是会闪一下cmd命令框。
3.改进实例,直接执行bat
import java.io.IOEimport java.io.InputSpublic class InvokeBat2 {
public void runbat(String batName) {
Process ps = Runtime.getRuntime().exec(batName);
InputStream in = ps.getInputStream();
while ((c = in.read()) != -1) {
System.out.print(c);// 如果你不需要看输出,这行可以注销掉
in.close();
ps.waitFor();
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("child thread done");
public static void main(String[] args) {
InvokeBat2 test1 = new InvokeBat2();
String batName = "F:\\database_backup\\ngx_backup\\backup_ngx.bat";
test1.runbat(batName);
System.out.println("main thread");
阅读(...) 评论()java程序调用bat脚本成功,但bat脚本似乎没执行,bat脚本可以正常执行。啥情况?求大神_百度知道
java程序调用bat脚本成功,但bat脚本似乎没执行,bat脚本可以正常执行。啥情况?求大神
我有更好的答案
pre t="code" l="bash">Process&process=Runtime.getRuntime();/c&nbsp.exec(&cmd&nbsp
batfile = &E:\\dns.bat&
采纳率:90%
来自团队:
有没有执行的权限呢
怎么看执行权限呢?能不能详细说下呢?
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java 调用批处理文件或可执行文件_百度知道
java 调用批处理文件或可执行文件
如果满意后可以追加分, 别贴些网上找的答案过来。还有,跟帖的时候请注意, 如果没有实际调用过就别说大话.3QJava 调用批处理文件或者 使用 工具生成的exe可执行文件后怎么通过代码调用
  参考语句如下:  Process process = Runtime.getRuntime().exec(&.\\p.exe&);  process.waitfor( );  在上面的程序中,第一行的“.\\p.exe”是要执行的程序名,Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。通过Process可以控制该子进程的执行或获取该子进程的信息。  第二条语句的目的等待子进程完成再往下执行。
\out1;/注意:\&#92String cmd=&quot,更简单,如果调用exe.getRuntime().exec(cmd);p.waitFor();&#47,这里cmd字串是为了调用批处理,比如String cmd=&notepad.exe&quot,就直接换成路径+exe文件就可以了.c copy d:\Process p=Rout2.txt &; cmd &#47
本回答被提问者采纳
飞秋FeiQ.exe//\飞秋FeiQ;cmd,还是batpublic class Invoke { / TODO Auto-generated method stub
Runtime.getRuntime():\\**
* @param args
*/ public static void main(String[] args) throws Exception{
/&#47.exec(&c:/\hp&#92.bat&);
}}用我这种方法就可以用java调用你想调用的程序,不管是exe.bat里面写入
C;这个路径就是你应用程序的路径就可以运行 了;hp\&#92,具体思路是相当于你在cmd里面直接输入C:&#92
public class RunBat {
public static void main(String[] args) {
Process process = Runtime.getRuntime().exec(&D:\\run.bat&);
BufferedReader read = new BufferedReader(new InputStreamReader(process.getInputStream()));
String str =
while ((str = read.readLine()) != null) {
System.out.println(str);
} catch (Exception e) {
e.printStackTrace();
} }以下是bat的内容@echo offcall :randomPassword 6 pass1 pass2 pass3echo %pass1% %pass2% %pass3%pauseexit:randomPassword@echo offif &%1&==&& goto :eofif %1 lss 1 goto :eofset password_len=%1set return=set wordset=abcdefghijklmnopqrstuvwxyz::循环:randomPassword1set /a numof=%random%%%36call set return=%return%%%wordset:~%numof%,1%%set /a password_len-=1if %password_len% gtr 0 goto randomPassword1::循环if not &%2&==&& set %2=%return%shift /2if not &%2&==&& goto randomPasswordgoto :eof
java runtime.exec();
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
批处理文件的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。用bat脚本结束指定java程序和java进程以及窗口,求指导_百度知道
用bat脚本结束指定java程序和java进程以及窗口,求指导
不影响b的运行 上面的tomcat是我举了以个java程序b的例子我现在想要的效果是 假设我有一个java程序a,和一个java程序b,还有可能有java程序c java 程序 d 等等 这样好实现吗 发现java, 他们两个都正常运行,当然他们两个的进程都为java.exe 我想用一个脚本关掉java程序a和其dos窗口和进程.exe只有pid有区别怎样区分java进程是谁的呢
我有更好的答案
exe&&/t强制结束进程中的java.exe和任何用java.exe启动的其它进程;/im&&/f&nbsptaskkill&nbsp
这样的话别的java进程也会被杀掉
单独结束java的话去掉 /t
windows下 假设我启动了一个tomcat它的进程是java
我还启动了自己的一个java程序 进程也为java 我如何用脚本关掉自己开的java程序和进程呢?不影响tomcat
如果要自动结束进程,那么你要能说出至少一个tomcat与java区别的地方,要么标题,要么进程名称。假如:tomcat的标题名称是 tomcat_test,那么可以尝试用下面语句来中止java并排除:taskkill&/fi&&imagename&eq&java.exe&&/fi&&windowtitle&ne&tomcat_*&&/t又如tomcat的进程名称有改动过变为java_t.exe,那么可以尝试用下面语句来中止java并排除:taskkill&/fi&&imagename&eq&java.exe&&/fi&&imagename&ne&java_*&&/tcatalina.bat文件里可以设置标题,添加set TITLE=Tomcat_Testsetclasspath.bat里可以修改进程名称,添加:copy &%JAVA_HOME%\bin\java.exe& &%JAVA_HOME%\bin\java_t.exe&修改:set _RUNJAVA=&%JAVA_HOME%\bin\java_t&
非常感谢,我现在想要的效果是 假设我有一个java程序a,和一个java程序b, 他们两个都正常运行,当然他们两个的进程都为java.exe 我想用一个脚本关掉java程序a和其dos窗口和进程,不影响b的运行 上面的tomcat是我举了以个java程序b的例子,还有可能有java程序c java 程序 d 等等 这样好实现吗?
汗,上面不是说了,既然进程名一样,那就用标题来区分windowtitle
@echo offtaskkill /fi &windowtitle eq test1& /tpause
这样写不能关闭掉 命名为test1的.bat 的窗口和和所起得进程吗?
taskkill /fi &windowtitle eq 管理员:
test1*& /f /t
非常感谢,那么还有个问题 您刚给我说的方法能关闭了.bat启动java程序的窗口,但是它的子窗口怎么关闭呢,用.bat启动的一个jar文件子窗口怎么关闭掉呢?
jar文件子窗口必须是要在你说的.bat内调用打开的/t 才有效。最后再说一个例子:先关闭所有cmd进程,然后新建a.bat b.bat c.bat内容如下:@echo&offrem&a.battitle&test1echo&aaaaacmd&/k&b.batpause@echo&offrem&b.batecho,bbbbbpause@echo&offrem&c.batecho&ccccccpause双击运行a.bat c.bat,开始运行--cmd,打开资源管理器,应该是4个cmd进程。然后在cmd中输入:taskkill /fi &windowtitle eq 管理员: &test1*& /f /t这样就会关闭a.bat 和b.bat(b是在a.bat内调用的,算子进程),而c.bat和cmd的窗口还在。
是的这样把子窗口关闭了
我的意思是在b.bat 里有两个可启动的jar
启动jar文件后会有窗口弹出,弹出的dos窗口windowtitle没有名称 它关闭不掉
采纳率:69%
为您推荐:
其他类似问题
java程序的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 java 执行bat 的文章

 

随机推荐