Hi,
hat jemand eine Idee, wie ich einen String aus einem C++ Programm an das aufrufende Batchprogramm (DOS Befehle) übergeben bekomme?
Danke für Eure Antworten
leachim1962 Gast |
leachim1962 Gast |
Hi,
hat jemand eine Idee, wie ich einen String aus einem C++ Programm an das aufrufende Batchprogramm (DOS Befehle) übergeben bekomme?
Danke für Eure Antworten
Also dar die .bat Dateien ja eigentlich nur "skripte" sind. und nur andere Programme aufrufen, die dann den Job erledigen, koennen sie somit (meiner Meinung nach) auch keine Parameter haben.
Du koenntest aber natuerlich die Datei einlesen, und dann in die ersten paar Zeilen deine Parameter als Variablen reinschreiben (set myVariableName=VALUE) und dann drauf zugreifen (mit %VARIABLENNAME%).
Geht schon...
Einfach als Parameter an den Batch-Aufruf anhängen, also z.B.
> mybatch.bat wasFuerEinGeilesProgramm
echo %1
wasFuerEinGeilesProgramm
Ich denke die Frage war eher, wie man einen Parameter aus einem Programm an die batch, die das Programm aufgerufen hat, zurueckgeben kann (und nicht wie man einen Parameter an eine batch-Datei uebergibt). Und wie von Fuxi schon geschrieben geht das soweit ich weiss nur ueber den Umweg in eine Datei (ich weiss auch nicht, ob man das direkt in die batch-Datei reinschreiben kann, weil die ja quasi schon geoeffnet ist).
Auf jeden Fall kann man in dem Programm was in eine temproraere Datei schreiben und das dann aus der batch-Datei wieder lesen.
Entweder wir zerbrechen uns jetzt den Kopf darueber, was er gemeint haben koennte und schreiben jetzt irgendwas hier rein.
Oder leachim1962 meldet sich einfach wieder uns sagt uns nochmal genau was er will, sofern es ihn noch interessiert.
Aber ich habs auch so wie JoSsif verstanden^^.
Trotzdem interessant das batch Dateien Parameter haben koennen...
Sorry, hat etwas gedauert, hatte nämlich etwas schwierigkeiten mit dem Internet.
Und danke für Eure Mühe.
Also ich meinte es folgendermaßen:
In einer Batchdatei möchte ich ein (in C++ geschriebenes) Programm aufrufen. Dieses Programm berechnet EINEN String, auf den ich im Batchprogramm zugreifen möchte. Die beste Lösung auf die ich gekommen bin, ist der Umweg über eine Datei. D.h.: Das C Programm schreibt den String in eine Datei, welche von der Batch Datei eingelesen wird...
Nachteile:
1. Ist in sehr performant.
2. Wegen reentrance Sicherheit müßten unterschiedliche Dateien verwendet werden, was die Ganze Sache verkompliziert.
Hätte ja sein können, dass einer von Euch eine bessere Idee hat
Also ich bleibe dabei, dass man nur Rückgabewerte (Exit Codes) von Programmen auswerten kann in der Batch. Für alles andere müssten andere Mittel ran.
Kannst du uns vielleicht exakt erklären, was du machen willst? Vielleicht findet sich eine andere Lösung.
greez
JoSsiF
« Java Datentypumwandlung | Atmel ATTINY 2313-20 » | ||