r0k5t4r
Goto Top

Variablen die in einer .vbs datei generiert werden von batch auslesen

Ich habe eine Batch datei in der eine .vbs datei aufgerufen wird, diese wiederum generiert variablen, die ich wiederum in der batch datei benötige...

Der Aufruf für die .vbs datei sieht so aus:

call unix.vbs "%PROJECTGROUPL%" group >> %LOG% 2<&1

Die .vbs generiert dann eine variable, die ich wiederum in der batch brauche.

Gibt es eine möglichkeit diese in die Batch zu übergeben?

Content-Key: 113331

Url: https://administrator.de/contentid/113331

Printed on: April 26, 2024 at 15:04 o'clock

Member: bastla
bastla Apr 06, 2009 at 14:30:46 (UTC)
Goto Top
Hallo r0k5t4r!

Ganz schematisch würde das so gehen:
for /f "delims=" %%i in ('cscript //nologo script.vbs') do set "Variable=%%i"
Dazu müsste das Script den Variableninhalt per
WScript.Echo Variableninhalt
ausgeben.

Da Dein Script allerdings offensichtlich noch weitere Ausgaben als Log produziert, wäre die sinnvollste Möglichkeit, den Variableninhalt als letzte Zeile in das Log zu schreiben und dann mit
for /f "usebackq delims=" %%i in ("%LOG%") do set "Variable=%%i"
eben diese letzte Zeile in die Variable einzulesen.

Sollte die Variable allerdings im Log stören, dann als einzigen Inhalt in eine neue Textdatei ("Variablendatei.txt") schreiben und mit
set /p Variable=<Variablendatei.txt
in die Variable übernehmen.

Grüße
bastla
Member: r0k5t4r
r0k5t4r Apr 06, 2009 at 14:34:30 (UTC)
Goto Top
Danke für die schnelle Antwort. Werde das morgen gleich mal ausprobieren.
Member: r0k5t4r
r0k5t4r Apr 08, 2009 at 09:41:34 (UTC)
Goto Top
Vielen Dank für die Tipps.

Hab es jetzt folgendermaßen gemacht. Da ich wie du ja selbst sagst, alles sowieso in ein Logfile schreibe, hab ich die aufrufe für das vbs jetzt so gestaltet:

cscript //nologo unix.vbs "%PROJECTGROUPL%" group >> %UNIXGROUPLOG% 2<&1

damit wird alles direkt in das log geschrieben und ich kann es später mit awk, grep etc. einfach wieder rausziehen.

Positiver nebeneffekt für mich die wscript.echo befehle werden auch nicht mehr ausgegeben. War gut fürs debugging aber die wollte ich dann eh rausnehmen.

Gruss,
r0k5t4r