Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Konsolenausgabe auslesen von bat Datei (https://www.delphipraxis.net/155517-konsolenausgabe-auslesen-von-bat-datei.html)

Satty67 27. Okt 2010 11:52

AW: Konsolenausgabe auslesen von bat Datei
 
wenn es nur ein einzelner Aufruf ist, könnte auch eine Umleitung in eine Textdatei reichen:

xyz.exe %parameter > Ausgabe.txt

rollstuhlfahrer 27. Okt 2010 15:05

AW: Konsolenausgabe auslesen von bat Datei
 
du könntest allen beteiligten sehr hilfreich sein, indem du einfach mal den Inhalt deiner ominösen .bat-Datei preisgibst. Dann wissen wir auch alle, was mit Java(TM) gemeint ist und woher die ECHOs kommen.

Bernhard

NickelM 29. Okt 2010 16:45

AW: Konsolenausgabe auslesen von bat Datei
 
hmm okay... die bat datei ist halt von einem spiel:

Code:
@echo off
java -Xms512M -Xmx512M -cp minecraft-server.jar com.mojang.minecraft.server.MinecraftServer
pause
Obwohl ich wenig glaube das das hilft...
Die Bat datei liegt zusammen mit der jar datei in dme gleichem verzeichnis

rollstuhlfahrer 29. Okt 2010 17:32

AW: Konsolenausgabe auslesen von bat Datei
 
dann nimm doch mal den Java-Befehl als Maß der Dinge oder lass das pause weg. Sonst beendet sich der Prozess nicht rechtzeitig (der Code aus SwissDelphiCenter wartet nämlich artig darauf, dass sich der Prozess beendet).

Bernhard

Assarbad 29. Okt 2010 17:45

AW: Konsolenausgabe auslesen von bat Datei
 
Zitat:

Zitat von NickelM (Beitrag 1058515)
Obwohl ich wenig glaube das das hilft...
Die Bat datei liegt zusammen mit der jar datei in dme gleichem verzeichnis

Un ob das hilft. Wie Bernhard schon sagte, solltest du ganz einfach nur java.exe mit den o.g. Argumenten aufrufen. Zugegeben, eventuell mußt du noch in der Registry ermitteln wo dein JRE installiert ist und die java.exe zu finden ist (sollte sie nicht im gleichen Verzeichnis liegen), aber das ist trivial.

rollstuhlfahrer 29. Okt 2010 19:38

AW: Konsolenausgabe auslesen von bat Datei
 
java.exe sollte normalerweise im Suchpfad liegen (%PATH%), weil ja die CMD Java auch finden kann (und da bin ich mir sicher, dass hier keine Reg-Schlüssel ausgewertet werden).

Bernhard

NickelM 31. Okt 2010 01:03

AW: Konsolenausgabe auslesen von bat Datei
 
Liste der Anhänge anzeigen (Anzahl: 1)
nene funkt net....
also das hab ich schon alles versucht

der pfad ist C:\Dokumente und Einstellungen\Mario\Eigene Dateien\minecraft-server\start server.bat
Code:
RunCaptured('C:\Dokumente und Einstellungen\Mario\Eigene Dateien\minecraft-server','java','-Xms512M -Xmx512M -cp minecraft-server.jar com.mojang.minecraft.server.MinecraftServer');
Konsole beendet..keine ausgabe (dauert nur ein paar sekunden)

Code:
RunCaptured('C:\Dokumente und Einstellungen\Mario\Eigene Dateien\minecraft-server','','start server.bat');
funkt nicht...keine ausgabe

Code:
RunCaptured('C:\Dokumente und Einstellungen\Mario\Eigene Dateien\minecraft-server','cmd','start server.bat');
geht auch nicht gleiche wie eins unten...

Code:
RunCaptured('C:\Dokumente und Einstellungen\Mario\Eigene Dateien\minecraft-server','cmd','java -Xms512M -Xmx512M -cp minecraft-server.jar com.mojang.minecraft.server.MinecraftServer');
geht überhaupt nicht....falsche ausgabe nur vezeichnis..das wars

pause rausnehmen kein unterschied...im anhang die normale ausgabe :
das fenster bleibt offen, da es ja eine server anwendung ist.

also ich bin mit meinem latein am ende. auch bei der SetPriorityClass Prozedur stat IDLE_PRIORITY_CLASS,CREATE_NEW_CONSOLE macht keine unterschied bei keinem.

Ich vermute das es aus irgendeinem grund an der jar liegt, das die nur per bat ausführbar ist.

Assarbad 31. Okt 2010 01:40

AW: Konsolenausgabe auslesen von bat Datei
 
Es wäre schön, wenn du einfach mal das machen würdest, was wir schreiben ;)

Und hier hat niemand "cmd" oder "java" geschrieben. Auch beim SwissDelphiCenter ist das Beispiel mit cmd.exe und ich habe auch ganz klar java.exe geschrieben. Wenn das bei ShellExecute und ShellExecuteEx geht, ist das ja ne feine Sache, aber man mag es kaum glauben, CreateProcess gehorcht anderen Regeln.

Ach ja und: "geht nicht" ist keine gute Ansage, wenn man möchte, daß einem geholfen wird. Gerade als Entwickler solltest du vielleicht das beherzigen, was wir Entwickler gern den Benutzern ans Herz legen - vernünftige Fehlermeldungen. Also einfach mal versuchen den kopierten Code zu verstehen und dann vielleicht auch mal die Win32-Fehlercodes hier reinschreiben, wenn's "nicht geht" ;)

Nachtrag: übrigens hatte ich dich auch gebeten java.exe auszuführen und nicht "java" als Befehl innerhalb cmd (bzw. cmd.exe), was nämlich ohnehin /c oder /k erfordern würde.

Delphi-Quellcode:
RunCaptured('C:\Dokumente und Einstellungen\Mario\Eigene Dateien\minecraft-server','java.exe','-Xms512M -Xmx512M -cp minecraft-server.jar com.mojang.minecraft.server.MinecraftServer');

NickelM 31. Okt 2010 11:30

AW: Konsolenausgabe auslesen von bat Datei
 
also ich bin jetzt net so blöd, aber ich weis das windows cmd und java (beide in java.exe oder cmd.exe umwandelt)
Zumindest bei cmd..
Und auserdem hat dies kein unterschied gemacht.......
Ich glaube ich lass des lieber mit selbst programmieren, weil es scheint das keiner hier eine antwort darauf hat und es mir solangsam zudumm ist.

Damit schlisse ich das einfach und lass es sein. Ich such mir eine Komponente die das macht. Dachte das geht einfacher. Aber anscheint liegt es an der verschriekung von der jar datei. Ich denk das wird nicht umsonst mit dem Commandos mit einer Bat datei ausgeführt. Oder was meint ihr? Von daher geb ichs auf. Es bringt nichts darumzumachen, da es bei mir anscheinend ein spezieller Fall ist.

Andreas L. 31. Okt 2010 12:16

AW: Konsolenausgabe auslesen von bat Datei
 
Zitat:

Zitat von NickelM (Beitrag 1058717)
also ich bin jetzt net so blöd, aber ich weis das windows cmd und java (beide in java.exe oder cmd.exe umwandelt)
Zumindest bei cmd..
Und auserdem hat dies kein unterschied gemacht.......
Ich glaube ich lass des lieber mit selbst programmieren, weil es scheint das keiner hier eine antwort darauf hat und es mir solangsam zudumm ist.

Damit schlisse ich das einfach und lass es sein. Ich such mir eine Komponente die das macht. Dachte das geht einfacher. Aber anscheint liegt es an der verschriekung von der jar datei. Ich denk das wird nicht umsonst mit dem Commandos mit einer Bat datei ausgeführt. Oder was meint ihr? Von daher geb ichs auf. Es bringt nichts darumzumachen, da es bei mir anscheinend ein spezieller Fall ist.

Die von mir verlinkte Komponente kann alles was du brauchst (http://www.delphipraxis.net/1058070-post6.html). Wenn du meinen Post aber einfach ignorierst, ist dir nicht zu helfen... :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz