java 调用批处理文件或可执行文件

2024-11-27 03:57:19
推荐回答(5个)
回答1:

用我这种方法就可以用java调用你想调用的程序,不管是exe,还是bat
public class Invoke {

/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
Process process = Runtime.getRuntime().exec("c:/cmd.bat");

}

}

.bat里面写入

C:\\hp\\飞秋FeiQ.exe//这个路径就是你应用程序的路径

就可以运行 了,具体思路是相当于你在cmd里面直接输入C:\\hp\\飞秋FeiQ.exe 应该满意 了嘛

回答2:

String cmd=" cmd /c copy d:\\out1.txt d:\\out2.txt ";
Process p=Runtime.getRuntime().exec(cmd);
p.waitFor();
//注意,这里cmd字串是为了调用批处理,如果调用exe,更简单,就直接换成路径+exe文件就可以了,比如String cmd="notepad.exe";

回答3:

  参考语句如下:
  Process process = Runtime.getRuntime().exec(".\\p.exe");
  process.waitfor( );
  在上面的程序中,第一行的“.\\p.exe”是要执行的程序名,Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。通过Process可以控制该子进程的执行或获取该子进程的信息。

  第二条语句的目的等待子进程完成再往下执行。

回答4:

public class RunBat {

public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("D:\\run.bat");
BufferedReader read = new BufferedReader(new InputStreamReader(process.getInputStream()));
String str = null;
while ((str = read.readLine()) != null) {
System.out.println(str);
}

} catch (Exception e) {
e.printStackTrace();
}
}

}

以下是bat的内容
@echo off
call :randomPassword 6 pass1 pass2 pass3
echo %pass1% %pass2% %pass3%
pause
exit

:randomPassword
@echo off

if "%1"=="" goto :eof
if %1 lss 1 goto :eof
set password_len=%1
set return=
set wordset=abcdefghijklmnopqrstuvwxyz0123456789
::循环
:randomPassword1
set /a numof=%random%%%36
call set return=%return%%%wordset:~%numof%,1%%
set /a password_len-=1
if %password_len% gtr 0 goto randomPassword1
::循环
if not "%2"=="" set %2=%return%
shift /2
if not "%2"=="" goto randomPassword
goto :eof

回答5:

java runtime.exec();