Batchdateien: Programmausgabe als SET-Variable speichern und als Parameter übergeben

sansmalrst

Grünschnabel
Hi Leute,

ich möchte unter Windows XP die Textausgabe des Skriptes GetResult.vbs per Batchdatei als Parameter an ein weiteres Skript ProcessResult.vbs übergeben. Folgendes funktioniert bereits:

@echo off
cscript //Nologo GetResult.vbs >ipTemp.txt
set /p ipnr=<ipTemp.txt
cscript //Nologo ProcessResult.vbs %ipnr%
del ipTemp.txt
set ipnr=

Daran stört mich nun aber, dass der Umweg über die Datei genommen wird. Gibt es eine Möglichkeit, eine Programmausgabe direkt in eine Umgebungsvariable zu schreiben oder noch besser mit dem Pipe-Operator direkt ohne Umgebungsvariable auszukommen?

Vielen Dank & Gruß!
 
Hi.
Gibt es eine Möglichkeit, eine Programmausgabe direkt in eine Umgebungsvariable zu schreiben oder noch besser mit dem Pipe-Operator direkt ohne Umgebungsvariable auszukommen?
Ja. Dazu mußt du nur das ProcessResult.vbs Skript dahingehen anpassen, das es den Parameter von der Standardeingabe liest und nicht wscript.arguments benutzt. Das kannst du abhängig davon machen ob nun Argumente übergeben wurden oder nicht.

Gruß
 
Zurück