Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Stringübergabe an aufrufendes Batchprogramm

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

 


Antworten zu Stringübergabe an aufrufendes Batchprogramm:

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%). 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Geht schon...

Einfach als Parameter an den Batch-Aufruf anhängen, also z.B.

> mybatch.bat wasFuerEinGeilesProgramm

In der Batch dann:
echo %1

...weil es der erste Parameter is (leuchtet ein, oder?)

Und das ergibt dann als Ausgabe:

wasFuerEinGeilesProgramm

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Nachtrag: wir reden von Windows!

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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. 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Oh sorry, kann sein, dass ich das falsch verstanden habe. Unter Linux konnte man IMHO den Exit Code des Programms abfangen. Weiß nicht, wie das mit Windows ist, aber vielleicht geht's irgendwie über diesen Ansatz.

greez 8)
JoSsiF

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...

« Letzte Änderung: 23.01.08, 16:41:33 von Fuxi »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Lisaas Interpretation der Frage macht glaub ich schon Sinn. Hab mich am Anfang auch über die Fragestellung gewundert, aber so könnte das hinhauen.

Naja, vielleicht gibt der TO nochmal Auskunft.

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

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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 8)
JoSsiF

Das einfachste dürfte wohl sein, den Rückgabestring in eine Umgebungsvariable zu schreiben, die dann in der Batchdatei beliebig verwendet werden kann. Ich denke, dass setenv dafür geeignet sein müsste. 


« Java DatentypumwandlungAtmel ATTINY 2313-20 »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
C++
C++ ist eine von der ISO standardisierte Programmiersprache und eine erweiterte Form von C zur objektorientierten, generischen und prozeduralen Programmierung. Weitestgeh...

Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...