Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Batch: Aufrufparameter ermitteln (https://www.delphipraxis.net/96810-batch-aufrufparameter-ermitteln.html)

s-off 31. Jul 2007 07:33


Batch: Aufrufparameter ermitteln
 
Hallo zusammen,

folgende Situation:

Ich habe eine Batchdatei.
Ich habe ein GUI, welche die Batchdatei mit irgendwelchen Parametern aufruft.
Die Batchdatei erzeugt ein Ergebnis.

Rufe ich die Batchdatei über die Konsole manuell auf, weicht das resultierende Ergebnis von dem, welches über das GUI 'erzeugt' wurde, ab.

Ursache: unterschiedliche Übergabe von Aufrufparametern.

Frage:
Besteht die Möglichkeit, herauszufinden, mit welchen Parametern die Batch-Datei aufgerufen worden ist?

semo 31. Jul 2007 07:39

Re: Batch: Aufrufparameter ermitteln
 
solange du die batchdatei nicht selbst geschrieben hast würd ich mal behaupten nein.
du musst dir möglichen paramater ansehen und durch trial and error ausprobieren bis du zu deinem gewünschten ergebnis kommst.

RavenIV 31. Jul 2007 07:44

Re: Batch: Aufrufparameter ermitteln
 
Innerhalb der Batchdatei kannst du mit %1, %2, %3 usw. die Parameter der batch abrufen.
z.B. für eine if-Abfrage:
Code:
if %1 = "Hallo" then echo "Hallo"

DeddyH 31. Jul 2007 07:45

Re: Batch: Aufrufparameter ermitteln
 
Wenn es wirklich eine Batchdatei ist, liegt sie doch vermutlich im Quellcode vor. Du solltest sie also eigentlich auslesen können.

RavenIV 31. Jul 2007 08:13

Re: Batch: Aufrufparameter ermitteln
 
Du weisst doch, welche parameter das Batch haben muss. Sonst könntest Du es nicht per Kommandozeile aufrufen.
Also gib der Batch per GUI die gleichen Parameter mit den gleichen Typen und es sollte klappen.

Oder hab ich das Problem falsch verstanden?

s-off 31. Jul 2007 08:22

Re: Batch: Aufrufparameter ermitteln
 
Hallo,

natürlich weiss ich, welche Parameter vorkommen können, da sie natürlich in der Batchdatei stehen.
Da aber alle Parameter optional sind, weiss ich nicht, welche davon aufgerufen werden; und genau das möchte ich herausfinden.

Die Lösung war eigentlich ganz einfach - RavenIV hat mich drauf gebracht:

Ich habe die eigentliche Batchdatei einfach durch eine eigene ersetzt. In der eigenen gebe ich dann einfach die Parameter auf den Screen aus :wall:

echo %1 .....

Manchmal liegt die Lösung doch so nah :-D

Danke an alle!


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 Uhr.

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