Ich verwende eine vorbereitete JAR-Datei, um 1000 HTML-Dateien zu verarbeiten. Da die Anzahl der Dateien groß ist, möchte ich diesen Vorgang automatisch durchführen. Der Name von HTML-Dateien, die wir lesen möchten ist result_1
-result_1000
und alle Thesen von HTML-Dateien sind in einem Ordner Results
genannt. Ich möchte alle diese Ergebnisdateien in einer FOR Schleife verarbeiten.Wie verwende ich Batch-Datei, um Eingaben für eine JAR-Datei in jedem Schritt automatisch zu geben?
Diese JAR-Datei fordert den Benutzer für das Arbeitsverzeichnis. Nach Eingabe des Arbeitsverzeichnisses wird nach dem Dateinamen gefragt. Nach Eingabe des Dateinamens erscheint eine Eingabeaufforderung über die Verarbeitungsmethode.
Ich bin mit diesem Teil des Codes, die Ergebnisse zu verarbeiten. Aber es funktioniert nicht gut. Ich habe keine Ahnung von dieser Jar-Datei und wie es funktioniert. Ich habe diesen Teil des Codes geschrieben, um zu versuchen, ob er eine Ergebnisdatei korrekt verarbeitet, aber es tut nichts. Es führt nur die Java-Datei aus, ohne die Eingaben zu übergeben.
ich denke nach der JAR-Datei von dieser Batch-Datei ausgeführt werden gibt es die Steuerung an die JAR-Datei und dann nicht die Eingaben aus der Batch-Datei erhalten.
Ich weiß nicht, wie dieses Problem zu lösen.
Könnten Sie mir bitte helfen, was kann ich für die Verarbeitung dieser Dateien.
@echo off
set "workingdirectory=C:\Results"
set "filename=result_1.html"
set "processingmethod=methodD"
cd C:\JavaFolder
java -jar myjavacode.jar "%workingdirectory% %filename% %processingmethod%
Was ich beim Lesen der Aufgabenbeschreibung verstanden habe, ist, dass die Java-Anwendung das Verzeichnis, den Dateinamen und die Methode vom Standard-Eingabestream __STDIN__ erwartet und nicht als Parameter beim Starten. In diesem Fall müssten Sie dynamisch eine Textdatei mit der ersten Zeile erstellen, die das Verzeichnis enthält, der zweiten Zeile den Dateinamen und die dritte Zeile die Methode und diese Datei mit '<' über __STDIN__ an die Java-Anwendung umleiten. Siehe den Microsoft-Artikel zu [Verwenden von Befehlsumleitungsoperatoren] (https://technet.microsoft.com/en-us/library/bb490982.aspx). – Mofi
@Mofi Ich habe versucht, es kann nur lesen, und ich gebe die Eingabe von Textdatei es kann nur das Arbeitsverzeichnis lesen, aber nicht den Rest der TXT-Datei – user6365996
Nun, wenn eine Anwendung für die Interaktion mit einem menschlichen Benutzer geschrieben und nicht für ein skripted Gebrauch, haben Sie definitiv ein wirkliches Problem, um es zu benutzen. Ändern Sie die Java-Anwendung, um die 3 Zeichenfolgen als Parameter von der Befehlszeile zu akzeptieren, wenn dies möglich ist. Wenden Sie sich an den Autor der Java-Anwendung, wenn dies erforderlich ist, da Sie den Java-Code nicht ändern können. – Mofi