metzger000
Goto Top

Umrechnung von Byte auf Gigabyte

Umrechnung einer Datenträgergröße auf GB via Batch

Hallo

ich habe hier mehrere Beiträge gelesen über die Umwandlung der Größen innerhalb einer Batchdatei. Ich habe nun auch fleißig rumgebastelt und komme imme auf die gleichen Fehler. Entweder zeigt er mir "Fehlender Operator" an, oder er gibt mir nur den Wert 0 aus. Außerderm rechnet er auch nicht die Zwischenschritte. Vielleicht könnt ihr mir helfen?

echo on
FOR /F "tokens=1,2 delims= " %%a in ('wmic /Node:Server.txt logicaldisk get Name^,size ^| findstr /c:C:') DO (  
	set byte=%%b
	set /a kilobyte=%byte%/1024
 	set /a megabyte=%kilobyte%/1024
 	set /a gigabyte=%megabyte%/1024
 	echo %%a %gigabyte%
	
) 

Content-ID: 182372

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

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

Skyemugen
Skyemugen 21.03.2012 um 14:48:10 Uhr
Goto Top
Aloha,

hm, wozu dient das Escapen des Kommas in dem Befehl?

greetz André
Metzger000
Metzger000 21.03.2012 um 14:51:52 Uhr
Goto Top
Damit bekomme ich mehrere Werte ausgeben. Wenn ich das weglassen würde, würde er Name,size suchen und könnte es nicht auflösen.
Skyemugen
Skyemugen 21.03.2012 um 15:04:30 Uhr
Goto Top
Aloha,

hm, kannst du mal deinen Wert vom echo on posten, denn
Ungültige Zahl. Zahlen sind begrenzt auf eine Genauigkeit von 32 Bits.
will da nicht mitspielen.

greetz André
Metzger000
Metzger000 21.03.2012 um 15:30:08 Uhr
Goto Top
Und da bedeutet? Wie kann ich das umgehen?
bastla
bastla 21.03.2012 um 15:50:47 Uhr
Goto Top
Hallo Metzger000!

Das bedeutet, dass Du in CMD nur mit Zahlen von -2147483648 bis 2147483647 rechnen kannst - als Workaround könntest Du ein temporäres VBScript einsetzen, etwa:
echo on & setlocal
set "C=%temp%\Convert2GiB.vbs"  
>%C% echo WScript.Echo FormatNumber(WScript.Arguments(0)/1024/1024/1024, 2)

FOR /F "tokens=1,2 delims= " %%a in ('wmic /Node:Server.txt logicaldisk get Name^,size ^| findstr /c:C:') DO (  
    for /f "delims=" %%g in ('cscript //nologo %C% %%b') do (  
        echo %%a %%g
    )
)
[OT] Hallo Skye!

Jetzt hätte ich Dich beinahe nicht erkannt ... face-wink
[/OT]

Grüße
bastla
Metzger000
Metzger000 21.03.2012 um 15:58:55 Uhr
Goto Top
geht es nicht ohne VBS? Ich kann VBS nicht und irgendwie läuft das Script auch nicht richtig, wenn ich beim /Node meinen Client eintrage
bastla
bastla 21.03.2012 um 16:06:29 Uhr
Goto Top
Hallo Metzger000!
Ich kann VBS nicht
Musst Du auch nicht ...
irgendwie läuft das Script auch nicht richtig, wenn ich beim /Node meinen Client eintrage
Endlich mal eine aussagekräftige Fehlerbeschreibung ... face-wink

Wenn ich die Abfrage für meinen (XP-) Client durchführen will, lasse ich die "/Node"-Angabe einfach weg (und starte den Batch wegen "wmic" natürlich als Admin).
Als Alternative mit "Batch only" fiele mir eigentlich nur ein, die letzten 3 Stellen der Ausgabe zu ignorieren und das, was dann überbleibt, als KB zu betrachten ...

Grüße
bastla
Hubert.N
Hubert.N 21.03.2012 um 17:57:45 Uhr
Goto Top
Off Topic !!!

Und hier kommt dann auch noch der Klugsch... des Tages:

Du rechnest falsch, weil 1 Gigabyte 1.000.000.000 Bytes sind face-smile
bastla
bastla 21.03.2012 um 22:24:08 Uhr
Goto Top
@hubertn
Wie auch immer - mein VBS heißt "Convert2GiB.vbs" ... face-wink

Grüße
bastla