Batchskript und Umgebungsvariable

the-cR

Mitglied
Hallo,

ich hoffe ich habe mit diesem Forum in Verbindung mit meiner Frage nicht völlig daneben gegriffen :) Es geht um Batchdateien unter Windows XP.

Ist es möglich, den Inhalt einer Datei oder aber die Ausgabe eines Programmes auf die Standartausgabe in eine Umgebungsvariable zu bringen?

Soll heissen, das Programm "abc.exe" gibt auf der Standartausgabe nur "abc" aus. Um es in eine Datei umzuleiten, würde man "abc.exe > datei.txt" schreiben. Ich möchte die Ausgabe "abc" aber gerne in einer Umgebungsvariable haben, z.B. "%abc%" (die Umgebungsvars legt man ja mit dem Befehl set fest, z.B. "set meinevar=abc").

Ich hoffe jemand hat da einen Tipp für mich :)


Vielen Dank
 
Nach stundenlangen Ausprobieren hab ich hoffentlich eine Lösung gefunden ;) :
1) Leite die Ausgabe von 'abc.exe' in die Datei 'datei.txt' ('abc.exe > datei.txt')
2) Den Inhalt der Textdatei kannst du mit 'set /p meinevar= < datei.txt' in die Umgebungsvariable schreiben
- Ich hoffe mal das hilft dir weiter, ansonnsten kannst du bei der Syntax vom Set-Befehl schauen, ob du was interessantes findest (set /?)
 
Ah danke, ich habe von anderer Quelle auch noch einen Tipp bekommen, der in etwa so aussieht:

for /f %%1 in (result.txt) do set myvar=%%1

Ich werde beide, also Deine Lösung sowie diese später noch ausprobieren.

Eine Frage noch, woher weisst Du von dem Parameter /p von set? Ich habe da nichts gefunden, weder durch /? noch in der Windows Hilfe?

Dank Dir
 
hm... vielleicht haben wir verschiedene Windows- bzw. DOS-Versionen (ich hab WinXP Prof).
SET /P Variable=[EingabeaufforderungZeichenfolge]
Die Option /P erm”glicht es, einer Variablen eine Eingabezeile des Benutzers zuzuweisen und zeigt die angegebene Eingabeaufforderung an, bevor die Eingabezeile gelesen wird. Die Eingabeaufforderung kann leer sein.
 
Zuletzt bearbeitet:
Hallo,

sehr merkwürdig, jetzt sehe ich die Option /p auch :) Keine Ahnung, muss wohl blind gewesen sein, manchmal überliest mal einfach etwas :)

Ich dank Dir, es funktioniert nun.
 
Zurück