Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Results von operationen aus Batchdatei (https://www.delphipraxis.net/80383-results-von-operationen-aus-batchdatei.html)

JonnyGuitar 8. Nov 2006 08:55


Results von operationen aus Batchdatei
 
moin allerseits,

ich habe eine frage und zwar ist es möglich eine rückmeldung zu erhalten, ob diverse operationen aus einer batchdatei die mit shellexecute aufgerufen worden ist, erfolgreich waren?

ich glaube zwar nicht da dran aber vieleicht hat einer eine idee :)


mfg Jonny

marabu 8. Nov 2006 09:37

Re: Results von operationen aus Batchdatei
 
Hallo Jonny,

vielleicht helfen dir die Informationen aus diesem thread weiter: batchdatei aufrufen rueckgabewert abfragen

Grüße vom marabu

JonnyGuitar 8. Nov 2006 12:52

Re: Results von operationen aus Batchdatei
 
erstmal danke marabu,

das problem liegt nur darin, dass ich von jeder einzelnen aktion aus der batch datei ein result bräuchte.
wenn ich zb in der batchdatei eine dpr mit dcc32 kompiliere, dann möchte ich wissen ob das kompilieren fehlgeschlagen ist oder nicht. aber ich denke, dass wird nicht möglich sein.


mfg Jonny

Hansa 8. Nov 2006 12:58

Re: Results von operationen aus Batchdatei
 
Du mußt Pipelines benutzen.

Delphi-Quellcode:
dcc32 MeinProg >Ergebnis
In der Datei Ergebnis steht dann, was wohl ? Das Compilier-Ergebnis. :mrgreen:

Hansa 8. Nov 2006 13:01

Re: Results von operationen aus Batchdatei
 
Mir fällt noch was ein : dcc32 gibt IMHO einen Errorlevel zurück. Wenn dem wirklich so ist, dann könnte man auch den in der BAT auswerten.

Union 8. Nov 2006 13:05

Re: Results von operationen aus Batchdatei
 
Zitat:

Zitat von Hansa
Du mußt Pipelines benutzen

:lol: Der will kein Öl transportieren, sondern Daten...

Hansa 8. Nov 2006 13:08

Re: Results von operationen aus Batchdatei
 
Die heißen echt so. Öl ? :lol: Hätte ich Umleitung geschrieben, dann käme einer und hätte gemeckert, er wolle doch keine Einbahnstraße. :warn: :stupid: :mrgreen:

JonnyGuitar 9. Nov 2006 06:58

Re: Results von operationen aus Batchdatei
 
moin,

meinst du namedpipes? habe ich schonmal mit rumexperimentiert, ist mir trotzdem rätselhaft wie die mir in diesem fall weiterhelfen sollen. habt ihr vielleicht mal einen codefetzen für mich?

mfg Jonny

SirThornberry 9. Nov 2006 08:21

Re: Results von operationen aus Batchdatei
 
er meint nicht Named Pipes sondern die Ein- und Ausgabeumlenkung. So kannst du zum Beispiel in der Bat-Datei das Errorlevel auswerten und je nach Wert mit Echo ein anderes Ergebnis auf dem StdOut ausgeben. Die StdOut-Ausgabe kann über die Pipes gelesen werden und somit kann ausgewertet werden was mit Echo ausgegeben wurde.

Hansa 9. Nov 2006 08:45

Re: Results von operationen aus Batchdatei
 
Zitat:

Zitat von JonnyGuitar
...wenn ich zb in der batchdatei eine dpr mit dcc32 kompiliere, dann möchte ich wissen ob das kompilieren fehlgeschlagen ist oder nicht...

.. und genau das steht in der erzeugten Textdatei. 8)

JonnyGuitar 9. Nov 2006 10:16

Re: Results von operationen aus Batchdatei
 
irgendwie blicke ich nicht durch, heisst das, dass wenn ich irgendwas in der bat datei ausführe, nehmen wir an ich versuche mit del eine datei zu löschen, oder mit signcode eine datei zu signieren, das alles einen errorlevel zurück gibt?

und jetzt nochmal zu meinem verständnis: wenn dies der fall ist wäre das per pipe an meine delphi anwendung übertragbar?


mfg Jonny

SirThornberry 9. Nov 2006 10:34

Re: Results von operationen aus Batchdatei
 
Fast alle Anwendungen die Consolenausgaben haben setzen auch einen sinnvollen Wert für Errorlevel. Diesen kannst du per Pipes nicht auslesen so weit ich weiß. Allerdings kannst du innerhalb der Batch-Datei darauf eingehen und dann bedingt vom Errorlevel verschiedene Ausgaben mit Echo produzieren (wenn Errorlevel ungleich 0 dann mit Echo "erfolg" ausgeben ansonsten "fehler")

und diese Ausgaben kannst du per Pipes direkt in deine Delphianwendung umleiten lassen. Oder du leitest die Ausgabe in eine Datei um und lädst diese (ist einfacher aber es wird eben immer eine Datei geschrieben)

Hansa 9. Nov 2006 10:46

Re: Results von operationen aus Batchdatei
 
Also gut. Nochmals ausführlicher : > leitet die Ausgabe um. Ich denke, Du bist am testen ? :shock: Statt auf dem Bildschirm hat man die Ausgabe dann in einer Datei. Glaube >PRN würde sie auch drucken usw. Also : steht da was drin mit x lines compiled, dann ist es compiliert. Steht was mit Error drin, dann eben nicht. Natürlich kannst Du die Datei auch in einem Programm mit LoadFromFile anzeigen. Errorlevel weiß ich nicht genau. Würde mich allerdings wundern, wenn keiner zurückgeliefert würde. Zumindest wird bestimmt eine Umgebungsvariable gesetzt, die man auswerten kann.

Jetzt stehts hier und der Sir war schneller. :???: Der soll mal besser noch die BAT zeigen.

kalmi01 9. Nov 2006 11:02

Re: Results von operationen aus Batchdatei
 
oder Du schaust hier nach und rufst dann mit
Delphi-Quellcode:
DosCommand.commandline := 'CMD /A /C ' + 'mein_DOS-Kommando';
DosCommand.Execute;
auf.
Vorteil dabei ist, das Du die Pipelines lesen kannst, während sie beschrieben werden,
also quasi in Echtzeit.
Kannst somit also schon auf ein Ereignis reagieren, wenn es geschieht und nicht erst,
wenn eine Log-Datei fertig geschrieben ist.

JonnyGuitar 9. Nov 2006 12:24

Re: Results von operationen aus Batchdatei
 
super, genau das was ich gesucht habe, vielen dank.

mfg Jonny


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr.

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