![]() |
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 |
Re: Results von operationen aus Batchdatei
Hallo Jonny,
vielleicht helfen dir die Informationen aus diesem thread weiter: ![]() Grüße vom marabu |
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 |
Re: Results von operationen aus Batchdatei
Du mußt Pipelines benutzen.
Delphi-Quellcode:
In der Datei Ergebnis steht dann, was wohl ? Das Compilier-Ergebnis. :mrgreen:
dcc32 MeinProg >Ergebnis
|
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.
|
Re: Results von operationen aus Batchdatei
Zitat:
|
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:
|
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 |
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.
|
Re: Results von operationen aus Batchdatei
Zitat:
|
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 |
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) |
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. |
Re: Results von operationen aus Batchdatei
oder Du schaust
![]()
Delphi-Quellcode:
auf.
DosCommand.commandline := 'CMD /A /C ' + 'mein_DOS-Kommando';
DosCommand.Execute; 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. |
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