Führen Sie eine Batchdatei von Java aus

__Hinweis: Dieser Artikel wurde in der folgenden Umgebung bestätigt. __ __


Angenommen, Sie haben helloworld.bat in einem Ordner namens C: \ sample. Der Inhalt ist wie folgt.

helloworld.bat


@echo off
echo Hello World 01
echo Hello World 02
echo Hello World 03

Unten finden Sie ein Beispiel für die Ausführung dieser helloworld.bat von Java aus.

//Generieren Sie ProcessBuilder
// helloworld.Verbinden Sie stdin und stderr von bat mit stdin und stderr des übergeordneten Prozesses.
var processBuilder = new ProcessBuilder("C:\\sample\\helloworld.bat");
processBuilder.redirectOutput(ProcessBuilder.Redirect.INHERIT);
processBuilder.redirectError(ProcessBuilder.Redirect.INHERIT);

//Prozessgenerierung
// helloworld.Führen Sie bat als untergeordneten Prozess aus und stoppen Sie den übergeordneten Thread, bis der Prozess abgeschlossen ist.
var process = processBuilder.start();
process.waitFor();

Wenn Sie dies tun, sollten Sie in der Standardausgabe von Java Folgendes sehen:

Hello World 01
Hello World 02
Hello World 03

__ Persönlich ist der "süchtige" Punkt die Erweiterung der Batch-Datei. Die Erweiterung der Datei, die Sie ausführen möchten, muss bat oder cmd sein. __ __

In der Welt der sogenannten Shell-Skripte gibt es keine Spezifikation für die Erweiterung der Datei, in die das Skript geschrieben ist. Ich denke, dass es üblich ist, "sh" zu verwenden, aber solange Sie die Ausführungsberechtigung haben, können Sie entweder "txt" oder "html" ausführen, und es gibt kein Problem, auch wenn es keine Erweiterung gibt.

Andererseits werden in der Windows-Welt Erweiterungen verwendet, um zu bestimmen, ob eine Datei eine Batchdatei ist. Mit anderen Worten, wenn die Erweiterung bat oder cmd ist, wird diese Datei als ausführbare Batchdatei betrachtet.

Ich war süchtig nach "Ich habe versucht, eine Datei ohne Erweiterung bat oder cmd mit" ProcessBuider "oder" Process "auszuführen, und es hat nicht funktioniert". Ich bin ein sogenannter Open Application Developer. In dieser Welt (dh Linux und Unix) kann die Ausführungsberechtigung, wenn sie korrekt erteilt wurde, unabhängig von der Erweiterung ausgeführt werden. Daher ist es schwierig zu glauben, dass eine bestimmte Erweiterung angegeben werden muss. Ich habe nicht (´ ・ ω ・ `)

Recommended Posts

Führen Sie eine Batchdatei von Java aus
Führen Sie Batch mit Docker-Compose mit Java-Batch aus
[Java] Erstellen Sie eine temporäre Datei
So springen Sie von Eclipse Java zu einer SQL-Datei
Java11: Führen Sie Java-Code unverändert in einer einzelnen Datei aus
Führen Sie Java-Anwendungen in Azure Batch aus
Laden Sie Dateien mit Java HttpURLConnection hoch
Führen Sie node.js von Android Java aus (Verarbeitung)
Führen Sie R von einem Tomcat-basierten Java-Prozess unter Amazon Linux aus
Greifen Sie über eine Java-Anwendung auf Teradata zu
Versuchen Sie, Kubernetes Job von Java aus auszuführen
Warum nennt Java eine Datei eine Klasse?
Deep Learning Java von Grund auf 6.3 Batch-Normalisierung
Wenn eine Person aus Java PHP lernt
So führen Sie eine GIF-Datei über die Linux-Befehlszeile aus (Ubuntu)
Erstellung von Java-Dateien
GetInstance () aus einer @ Singleton-Klasse in Groovy aus Java
Führen Sie Rust von Java mit JNA (Java Native Access) aus.
Lesen Sie eine Zeichenfolge in einer PDF-Datei mit Java
R von Java ausführen Ich möchte rJava ausführen
Stellen Sie über eine Java-Anwendung eine Verbindung zu Aurora (MySQL) her
Um ein VB.net-Programmierer aus einem Java-Shop zu werden
Programmieranfänger lernen PHP aus einer Java-Perspektive.
Die Geschichte des Versuchs, JAVA File zu bedienen
Java-Datei aus apk generieren (Bytecode Viewer-Ausdruck)
Erstellen Sie Scala Seq aus Java, machen Sie Scala Seq zu einer Java-Liste
Eine Bat-Datei, die Java in Windows verwendet
[Java] Ruft Werte zufällig aus einem Array ab
CICS-Java-Anwendung ausführen- (1) Führen Sie eine einfache Beispielanwendung aus
SSH-Verbindung mit SSHJ aus der Java6-App
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [0. Basisdatei]
[Java] Dateisystembetrieb
Rufen Sie Java von JRuby aus auf
Senden Sie einen Job an AWS Batch mit Java (Eclipse)
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
Studieren von Java8 (z. B. Lesen von Dateien mit Stream)
[Java] Erstellen Sie einen Filter
[Spring] Lesen Sie mit MessageSource eine Nachricht aus einer YAML-Datei
Java (geteilte Quelldatei)
[Java] So extrahieren Sie den Dateinamen aus dem Pfad
Eval Java-Quelle von Java
Führen Sie PostgreSQL unter Java aus
Rufen Sie eine Methode mit Kotlins Rückrufblock von Java aus auf
Java Core: gehackte Core-Datei
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Basisdatei]
Java baut ein Dreieck
Greifen Sie über Java auf API.AI zu
Von Java zu Ruby !!
Ich habe versucht, mit OCR eine PDF-Datei mit Java zu verarbeiten
Verwenden der Datenbank (SQL Server 2014) aus einem Java-Programm 2018/01/04
[Hinweis] Erstellen Sie mit Docker eine Java-Umgebung von Grund auf neu
[Java] So löschen Sie ein bestimmtes Zeichen aus einer Zeichenfolge
Ich habe einen Wrapper erstellt, der KNP von Java aus aufruft
So konvertieren Sie eine Datei in ein Byte-Array in Java
21 Lesen Sie das Skript aus der Datei und führen Sie es aus
Der Dateipfad wird nicht erkannt, wenn ein externer Befehl von einer Java-App ausgeführt wird
Rufen Sie ein in Swift geschriebenes Programm von Processing (Java) auf.
Aktivieren Sie die Zelle A1 jeder Excel-Datei mit Java
Speichern von Zeichenfolgen von ArrayList zu Zeichenfolge in Java (Personal)