javabat
『壹』 java 運行bat文件並彈出CMD窗口
publicstaticvoidmain(String[]args)throwsIOException{
Desktop.getDesktop().open(newFile("d:/abc.bat"));
}
最簡單的
Runtime.getRuntime().exec("cmd.exe/CstartD:\abc.bat");
解決不彈框只需要「start」後面加一個參數「/b」就行:
『貳』 java的bat是什麼
.bat一般是批處理程序的後綴。
是把在Windows操作系統下DOS界面的命令, 按執行順序寫成一個.bat文件,然後雙擊這個 文件就可以執行所有寫入的DOS命令。 比如你寫個 shutdown -s 然後保存為.bat雙擊 就會關機,跟在DOS界面輸入這個命令效果一 樣。
『叄』 JAVA執行BAT文件,請求高手幫助。。。。
我當時解決的辦法是。
p.getOutputStream()
p.getErrorStream()
都不停地往外讀取內容。
原因是這樣的,bat命令輸出的內容會輸出到一塊緩沖區內存中。
如果你不及時讀取出來,當緩沖區內存滿了以後,
bat命令會停止執行。
所以辦法就是要把執行bat命令的輸出內容讀取出來,不能讓緩沖區滿。
『肆』 java怎麼調用bat,並傳參數
java可使用Runtime.exec執行bat文件,示例代碼如下:
import java.io.*;
import java.util.*;
public class TestExec {
public void runbat(int name) {
String cmd = "cmd /c start D:/bat/"+name+".bat";
try {
Process ps = Runtime.getRuntime().exec(cmd);
System.out.println(ps.getInputStream());
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
public static void main(String[] args){
TestExec test1 = new TestExec ();
test1.runbat("abc");
}
}
其中,abc.bat可以是已經存在的bat,也可以是動態生成的bat(如果需要根據已有參數執行bat,則可以使用動態生成bat文件的方式)
『伍』 Java打開bat
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.io.OutputStreamWriter;
importjava.util.LinkedList;
publicclassCommand{
privatejava.lang.Processp;
privateInputStreamis;
privateOutputStreamos;
privateBufferedWriterbw;
privateBufferedReaderbr;
privateProcessBuilderpb;
privateInputStreamstdErr;
publicCommand(){
}
//獲取Process的輸入,輸出流
publicvoidsetCmd(Stringcmd){
try{
p=Runtime.getRuntime().exec(cmd);
os=p.getOutputStream();
is=p.getInputStream();
stdErr=p.getErrorStream();
}catch(IOExceptione){
System.err.println(e.getMessage());
}
}
//向Process輸出命令
publicvoidwriteCmd(Stringcmd){
try{
bw=newBufferedWriter(newOutputStreamWriter(os));
bw.write(cmd);
bw.newLine();
bw.flush();
bw.close();
}catch(Exceptione){
e.printStackTrace();
}
}
//讀出Process執行的結果
publicStringreadCmd(){
StringBuffersb=newStringBuffer();
br=newBufferedReader(newInputStreamReader(is));
Stringbuffer=null;
try{
while((buffer=br.readLine())!=null){
sb.append(buffer+" ");
}
System.out.println(p.waitFor());
}catch(Exceptione){
e.printStackTrace();
}
returnsb.toString();
}
//將命令一股腦塞入list中
publicLinkedList<String>doCmd(LinkedList<String>lists){
LinkedList<String>list=newLinkedList<String>();
for(Strings:lists){
writeCmd(s);
list.add(readCmd());
}
returnlist;
}
publicstaticvoidmain(String[]args){
Commandcmd=newCommand();
cmd.setCmd("cmd");
cmd.writeCmd("d:\stock.xmld:\backStock.xml");
System.out.println(cmd.readCmd());
//LinkedList<String>list=newLinkedList<String>();
//list.add("dir/b");
//list=cmd.doCmd(list);
//for(Strings:list){
//System.out.print(s);
//}
}
}
『陸』 怎麼在java中運行bat命令
@echo off
echo 正在加密,請稍後....
echo path:%~dp0
set base=%~dp0
set class=%base%in
set libs=%base%lib
set
class_path=%class%;%libs%c3p0-0.9.1.2.jar;%libs%mysql-connector-java-5.0.8-bin.jar;
java -classpath %class_path% com.test.Main
@pause
文件結構圖:
classes目錄是java編譯後的class目錄
libs目錄存放的所要使用到的jar
startNet.bat為我們啟動的bat文件
『柒』 bat運行java文件
在window下bat批處理文件調用實現java方法。
代碼如下:
@echo off
echo 正在加密,請稍後....
echo path:%~dp0
set base=%~dp0
set class=%base%\bin
set libs=%base%\lib
set class_path=%class%;%libs%\c3p0-0.9.1.2.jar;%libs%\mysql-connector-java-5.0.8-bin.jar;
java -classpath %class_path% com.test.Main
@pause
classes目錄是java編譯後的class目錄
libs目錄存放的所要使用到的jar
startNet.bat啟動的bat文件
『捌』 java調用bat文件傳入參數,急,急,急!
java好像不能直接給bat文件傳參數,不過你可以先生成一個你需要的bat文件,再去執行這個bat文件,我就是這么做的,給你寫了個例子,你參考下(你先在d盤下建一個text.txt)
public class DelFile {
public void creatBat(String command){
FileWriter fw=null;
try {
fw=new FileWriter("D:\\del.bat");
fw.write(command);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(0);
}finally{
if(fw!=null){
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(0);
}
}
}
}
private String execute(String batname){
Process process;
String line = null;
StringBuffer sb=new StringBuffer();
try {
process = Runtime.getRuntime().exec(batname);
InputStream fis = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
if(process.waitFor()!=0){
System.out.println("fail");
return "fail";
}
System.out.println(batname+" run successful!");
return "success";
} catch (Exception e) {
e.printStackTrace();
return "fail";
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
DelFile df=new DelFile();
df.creatBat("del D:\\text.txt");
df.execute("D:\\del.bat");
}
}
『玖』 Java中如何調用bat,並傳入參數
如果能動態指定bat文件中參數更好。例如: 1.bat中> java -cp Chart2D這里有調用windows程序的例子,你可以參考一下,就在調用的地方吧你的bat文件
『拾』 java.bat是什麼意思有什麼作用怎麼用
.bat一般是批處理程序的後綴。所謂批處理就是把在Windows操作系統下DOS界面的命令,按執行順序寫成一個.bat文件,然後雙擊這個文件就可以執行所有寫入的DOS命令。
比如你寫個 shutdown -s 然後保存為.bat雙擊就會關機,跟在DOS界面輸入這個命令效果一樣。