❶ 怎麼寫java批處理
很久沒有寫JAVA的批處理了都搞忘記了折騰了個把小時總算搞出來了如下:SetLocal EnableDelayedExpansionset classpath=.for %%c in (lib\*.jar) do set classpath=!classpath!;%%cset classpath=%classpath%;./classes;java com.ham.server.Server備註:以上代碼一行都不能少
❷ Java或C#調用命令行批處理命令如何獲得返回值
[Ctrl+A
全部選擇
提示:你可先修改部分代碼,再按運行]
先看看如上的批處理,其中一個命令是mp,其它的參數我們就不說了。2個點
>
1.sql
這個是默認的輸出,也就是內容輸出
2>Nul
這個是錯誤輸出,也就是如果
mp出現了異常,則不會顯示在屏幕上,而是被丟棄到
nul
%errorlevel%
這個是前一個命令執行的返回值,0代表正常
上述邏輯是:
執行一個程序
如果正常,則轉到下一個命令,列印出OK,然後轉到結束
如果異常,則轉到error處理,列印出
ERROR,轉到結束
列印內容是隨意的
我們的java/C#程序可以讀取進程的輸出內容,並判斷是否批處理執行成功來源:
blog.csdn
作者:老紫竹
❸ java調用批處理,結束後想調用方法,但是總是在批處理結束前,就調用了,有什麼好的處理方法嗎
process.waitFor(); //等待
int status = p.exitValue(); //返回值
❹ Java如何調用可執行文件和批處理命令
有些第三方廠商如(ANT),也提供了調用windows下可執行程序的方法,但我們往往需要調用一些批處理命令。而java 卻不提供。
這里,我採用一種變相的調用方法,使得Java 能調用批處理命令。如果您有更好的方法,希望您能告訴我。
前期准備[/B]
Quick Batch File (De)Compiler
將任何BAT、CMD批處理腳本編譯為EXE文件!開始1. 運行exe 文件
Java JDK里已經提供了調用的方法,不在累贅,代碼如下。
try {String command = "notepad";
Process child = Runtime.getRuntime().exec(command);
} catch (IOException e) {}
2. 運行 bat(批處理) 文件
在Google上搜索一下,找到Quick Batch File (De)Compiler,可以將任何BAT、CMD批處理腳本編譯為EXE文件。使用了一下,果然可以。
Quick Batch File (De)Compiler使用非常簡單:
Quickbfc 文件名.bat 文件名.exe(將批處理命令編譯為可執行文件)
quickbfd 文件名.exe 文件名.bat(將可執行文件反編譯為批處理命令)
然後,我們再按第一種方法通過Java 調用,即可。
❺ 如何通過批處理來執行JAVA應用程序
在java程序目錄路徑下新建一個腳本文件,鍵入以下內容
@echooff
D:
cdD:PersonalDesktopWS
javacDemo.java
javaDemo
pause
其中
D:PersonalDesktopWS是工程目錄路徑
Demo是程序名,作出相應的修改即可.
❻ 如何開發一個簡單的Java批處理應用程序
批處理本來就是在Windows系統下的一種腳本語言,Java也是編程語言,Java批處理神馬?
❼ 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編程需要知道的十二個步驟!
❾ JAVA如何實現資料庫的批處理操作
批量數據進入資料庫使用addBatch()和executeBatch()方法
PreparedStatement.addBatch(); ...... PreparedStatement.executeBatch();需要注意的是一次最多不要超過50條:1.因為插入的時候資料庫已經鎖定,然而若是一次性插入太多會造成其他業務的等待。2.會造成內存的溢出
舉例:
PreparedStatement pst = (PreparedStatement) con.prepareStatement("insert into ***** values (?,'***')"); for (int i = 0; i < 10000; i++) { pst.setInt(1, i); // 把一個SQL命令加入命令列表 pst.addBatch(); } // 執行批量更新 pst.executeBatch(); // 語句執行完畢,提交本事務 con.commit();
❿ 如何把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}