Ich brauche Parameter senden und Batch-Datei von Java-Code ausführen. Ich habe diese Methode:Batch mit Java-Return-Fehler ausführen
private void run(){
if (atmUsernameField.getText().length() > 0 &&
atmPasswordField.getText().length() > 0 &&
serverURLField.getText().length() > 0){
String atmUsername= atmUsernameField.getText();
String atmPassword = atmPasswordField.getText();
String url = serverURLField.getText();
String userHomePath = System.getProperty("user.home");
userHomePath = userHomePath + File.separator + "INFOKIOSK" + File.separator + "device_jar";
String fileName = userHomePath + File.separator + "restart.bat";
if (SystemUtils.IS_OS_WINDOWS_XP || SystemUtils.IS_OS_WINDOWS) {
try {
String processID = ManagementFactory.getRuntimeMXBean().getName();
int endIndex = processID.indexOf("@");
processID = processID.substring(0, endIndex);
new ProcessBuilder("cmd", "/c", "start " + fileName, processID, atmUsername, atmPassword, url).start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
dies der Restart.bat ist:
TASKKILL /F /PID %1 /T
cd /d %~dp0
java -jar device.jar --atm.autoload.page=%4 --atm.username=%2 --atm.password=%3 -debug
Restart.bat Notwendigkeit zuerst getötet Prozess, in dem PID = processID und gehen in den Ordner, wo befindet sich er und Laufen device.jar mit Parametern. Wenn ich diesen Code auf Windows 7-Maschine ausführen, funktioniert Code. Wenn auf Windows XP SP3 Maschine läuft Fehler zurückgegeben "Not Found C: \ Dokumente ...." Ich brauche diesen Code auf Windows XP-Rechner ausführen. Wo ist der Fehler, warum funktioniert der Code nicht?
Well ... "hinzufügen Nicht gefunden C: \ Dokumente ... "Es kann Ihre Datei nicht finden. Ihre Datei kann "Dokumente \ Eigene Dateien" sein, aber dieser Platz bedeutet, dass Java sie als "Dokumente \ Meine" sieht. also prüfe den Pfad – Stultuske
@Stultuske Ich habe den Pfad "C: \ Documents" nicht benutzt. Die Datei befindet sich im Verzeichnis: user.home \ INFOKIOSK \ device_jar \ restart.bat. Nur in der alten Version des Artefakts habe ich diesen Pfad benutzt. Vielleicht, was dieser Cache einen Job behindert – Saahon