導航:首頁 > 編程語言 > java調用批處理

java調用批處理

發布時間:2023-10-24 19:36:12

『壹』 如何把java中的項目做成批處理

這是我一個真實的項目。發布批處理程序,結構目錄如下:

data文件存放數據,etc存放配置文件,lib,存放項目jar包,startup.bat/startup.sh啟動腳本。



1、-----windows上.bat文件調用java程序。bat文件內容如下------

echooff

remsetupclasspath

echoset_CP=%%_CP%%;%%1>cp.bat

set_CP=.;classes;"%JAVA_HOME%libdt.jar";"%JAVA_HOME%lib ools.jar"

for%%iin(lib*.jar)docallcp.bat%%i

setCLASSPATH=%_CP%

delcp.bat

echo%CLASSPATH%

remsetJAVA_HOME=

setJAVA_OPTION=-Dfile.encoding=GBK-Xms256m-Xmx256m-XX:MaxPermSize=64m

setRUN_CLASS=batch.Main

"%JAVA_HOME%injava"%JAVA_OPTION%-classpath%CLASSPATH%%RUN_CLASS%


2、-------unix/linux上shell調用java程序,shello文件內容如下---------

if[-z${JAVA_HOME}]

then

echo"JAVA_HOMEnotsetyet,can'trunjavaprogram!"

exit-1

fi

CLASSPATH=.:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar

JLIBDIR=./lib

exportJLIBDIR

forLLin`ls${JLIBDIR}/*.jar`

do

CLASSPATH=${CLASSPATH}:${LL}

done

echo${CLASSPATH}

exportCLASSPATH

JAVA_OPTION="-Dfile.encoding=GBK-Xms256m-Xmx256m-XX:MaxPermSize=64m"

RUN_CLASS=batch.Main

${JAVA_HOME}/bin/java${JAVA_OPTION}-classpath${CLASSPATH}${RUN_CLASS}


『貳』 java 調用批處理文件或可執行文件

用我這種方法就可以用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 應該滿意 了嘛

『叄』 如何製作批處理文件來運行java程序

操作步驟
1、新建一個文件夾,將要執行java程序(可使用eclipse導出的可執行的jar包)拷貝到該文件夾中;
2、將jdk中jre文件夾拷貝到要執行的java程序所在的文件夾;
3、在java程序所在的文件夾中新建一個bat文件。
bat文件樣例:
樣例一:
@echo off
set PATH=.;%CD%\SocketAdapter_lib\jre\bin
set CLASSPATH=.
start java.exe -jar SocketAdapter.jar
@pause

樣例二:
@echo off
start SocketAdapter_lib\jre\bin\java -jar SocketAdapter.jar
@pause
註:
可以在沒有安裝JRE的環境中,運行Java應用程序
java.exe 具體使用參見cmd中輸入java -help
javaw.exe 相對於 java.exe 執行java程序過程中MS-DOS不可見

對於安裝了JRE的環境中,第2步可以省略,bat文件如下
樣例三:
@echo off
java -jar SocketAdapter.jar
@pause

『肆』 java調用批處理,結束後想調用方法,但是總是在批處理結束前,就調用了,有什麼好的處理方法嗎

process.waitFor(); //等待
int status = p.exitValue(); //返回值

『伍』 Java或C#調用命令行批處理命令如何獲得返回值

[Ctrl+A
全部選擇
提示:你可先修改部分代碼,再按運行]
先看看如上的批處理,其中一個命令是mp,其它的參數我們就不說了。2個點
>
1.sql
這個是默認的輸出,也就是內容輸出
2>Nul
這個是錯誤輸出,也就是如果
mp出現了異常,則不會顯示在屏幕上,而是被丟棄到
nul
%errorlevel%
這個是前一個命令執行的返回值,0代表正常
上述邏輯是:
執行一個程序
如果正常,則轉到下一個命令,列印出OK,然後轉到結束
如果異常,則轉到error處理,列印出
ERROR,轉到結束
列印內容是隨意的
我們的java/C#程序可以讀取進程的輸出內容,並判斷是否批處理執行成功來源:
blog.csdn
作者:老紫竹

『陸』 java編程 批處理

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Stack;

public class CheckFilebatch {
private static final String LOG_FILE = "F:/CheckFilebatch.log"; //報錯的信息寫在這個文件里。
private static final String FILE_HOME = "F:/niceStore /"; //要操作的物理目錄

public static void main(String[] args) {
try {
ArrayList<String> fileListInDB = new ArrayList<String>();
FileWriter fw = new FileWriter(LOG_FILE);

// TODO
// 取得DB連接,執行sql「SELECT DISTINCT FILEPATH FROM ARR-FILE」,得到一個ResultSet
// 從DB中取出文件信息,放入fileListInDB 中,
ResultSet rs = null;
while (rs.next()) {
String path = rs.getString("File_Column");
File f = new File(path);
if (!f.exists()) {
// 不合法的報出錯誤信息。
System.out.println("file not exists: " + path);
fw.write("file not exists: " + path + "\n");
} else {
// 合法的,轉化為路徑名的規范路徑名字元串,加入到fileListInDB中
fileListInDB.add(f.getCanonicalPath());
}
}
rs.close();
//
fw.write("\n\n\n\n");

//下面開始遍歷物理目錄
File home = new File(FILE_HOME);
Stack<File> tmpStack = new Stack<File>();
tmpStack.add(home);
while (!tmpStack.isEmpty()) {
File tmp = tmpStack.pop();
File[] childs = tmp.listFiles();
for (int i = 0; i < childs.length; i++) {
File child = childs[i];
if (child.isDirectory()) {
tmpStack.push(child);
} else {
if (fileListInDB.contains(child.getCanonicalPath())) {
fileListInDB.remove(child.getCanonicalPath());
} else {
// 刪除文件。
child.delete();
// 這里的操作如果把它移動到另一個目錄里,作為備份,更好些。
fw.write("delete file: " + child.getCanonicalPath());
}
}
}
}
// 這個程序只考慮文件,不考慮目錄
fw.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}

}
}

閱讀全文

與java調用批處理相關的資料

熱點內容
newfile命令快捷鍵 瀏覽:567
阿里雲物理伺服器 瀏覽:953
靈狐視頻app哪個好 瀏覽:257
大廠退役程序員自述 瀏覽:252
linux命令watch 瀏覽:889
加密幣哪些平台不撤出中國 瀏覽:553
max加線命令 瀏覽:424
app胖瘦模式哪個好用 瀏覽:724
可以下載源碼的軟體 瀏覽:487
程序員寫一天代碼累嗎 瀏覽:628
ie文件夾禁止訪問 瀏覽:545
百川互聯網程序員 瀏覽:784
linuxpython解釋器 瀏覽:669
興安得力軟體加密狗 瀏覽:494
智能網路攝像頭加密 瀏覽:574
軟體畢業程序員培訓 瀏覽:654
安卓陀螺儀低怎麼辦 瀏覽:248
一級建造師復習題集pdf 瀏覽:904
法理學pdf海默 瀏覽:394
伺服器內存儲器是用什麼的 瀏覽:821