Rückgabe einer Variable von VBS nach Batch
Guten Morgen
Wieder einmal habe ich ein mehr oder weniger kleines Problem mit Batch
Das folgende VBScript wird in Batch erstellt und aufgerufen:
Die direkte Ausführung liefert mir ein Einwandfreies Ergebnis (Dateigröße und Einheit) von 2,29 GigaByte
Nun möchte ich diese Ausgabe allerdings im Batchscript weiter verwenden.
Dazu rufe ich mit:
sie VBS Datei auf und gebe mir anschließend die Variabel %Var% aus. In dieser steht dann allerdings nur der erste Teil (2,29), ohne die Einheit.
Auch das Arbeiten mit ... DO Set Var="%%I" und WScript.Echo """" & DateiGroesse & " " & Einheit & """" brachte keine besserung.
Wo liegt das Problem?
Wieder einmal habe ich ein mehr oder weniger kleines Problem mit Batch
Das folgende VBScript wird in Batch erstellt und aufgerufen:
Dim DateiGroesse
Dim Einheit
DateiGroesse = 2453896529
Einheit = "Nix"
Select Case Len(DateiGroesse)
Case 1, 2, 3 'Byte
DateiGroesse = DateiGroesse
Einheit = "Byte"
Case 4, 5, 6 'KiloByte
DateiGroesse = Round(DateiGroesse / 1024, 2)
Einheit = "KiloByte"
Case 7, 8, 9 'MegaByte
DateiGroesse = Round(DateiGroesse / 1024 / 1024, 2)
Einheit = "MegaByte"
Case 10, 11, 12 'GigaByte
DateiGroesse = Round(DateiGroesse / 1024 / 1024 / 1024, 2)
Einheit = "GigaByte"
Case 13, 14, 15 'TeraByte
DateiGroesse = Round(DateiGroesse / 1024 / 1024 / 1024 / 1024, 2)
Einheit = "TeraByte"
Case Else
DateiGroesse = 0
Einheit = "Nix"
End Select
WScript.Echo DateiGroesse & " " & Einheit
Die direkte Ausführung liefert mir ein Einwandfreies Ergebnis (Dateigröße und Einheit) von 2,29 GigaByte
Nun möchte ich diese Ausgabe allerdings im Batchscript weiter verwenden.
Dazu rufe ich mit:
for /F %%I IN ('cscript //nologo C:\VBSFile.vbs') DO Set Var=%%I
sie VBS Datei auf und gebe mir anschließend die Variabel %Var% aus. In dieser steht dann allerdings nur der erste Teil (2,29), ohne die Einheit.
Auch das Arbeiten mit ... DO Set Var="%%I" und WScript.Echo """" & DateiGroesse & " " & Einheit & """" brachte keine besserung.
Wo liegt das Problem?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176610
Url: https://administrator.de/forum/rueckgabe-einer-variable-von-vbs-nach-batch-176610.html
Ausgedruckt am: 21.04.2025 um 19:04 Uhr
5 Kommentare
Neuester Kommentar

moin,
ohne das jetzt genauer unter die Lupe zu nehmen...
Gruß
ohne das jetzt genauer unter die Lupe zu nehmen...
for /F "delims=" %%I IN ('cscript //nologo C:\VBSFile.vbs') DO Set "Var" == "%%I"
Gruß
Aloha, ...
hm ...
also
funktioniert einwandfrei
hm ...
also
for /F "delims=" %%I IN ('cscript //nologo E:\Skripte\test.vbs') DO set "var=%%I"
echo %var%
E:\Skripte>for /F "delims=" %I IN ('cscript //nologo E:\Skripte\test.vbs') DO se
t "var=%I"
E:\Skripte>set "var=2,29 GigaByte"
E:\Skripte>echo 2,29 GigaByte
2,29 GigaByte
E:\Skripte>pause
Drücken Sie eine beliebige Taste . . .

Servus,
[OT]

Jetzt verrat uns doch nicht, dass du auch ein Alphabetagammatester bist, der €echo off kennt, du warst mir so symphatisch
[/OT]
freut mich
[OT]
Funktioniert leider nicht, bekomme da nur das allseits bekannte ECHO ist ausgeschaltet zurück
Das kenn ich garnicht, denn bei mir müßte da das Gegenteil ECHO ist eingeschaltet (ON). geschrieben werden Jetzt verrat uns doch nicht, dass du auch ein Alphabetagammatester bist, der €echo off kennt, du warst mir so symphatisch
[/OT]
freut mich