Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

HD-Kapazität+Füllstand per Script auslesen ? (VBS in Batch)

-wende- / 8 Antworten / Baumansicht Nickles

Hallo,

kann man mit einem VBS-Script  *INNERHALB* einer Batch die Kapazitäten und Füllstände aller lokalen HDD's auslesen und in Variablen ablegen zur Weiterverarbeitung in der Batch ?

(Füllstand läßt sich aus Dir problemlos filtern, die Kapazitäten sind mein Problem ...)

Ich habe vbs-scripts gefunden, die das separat können - leider verstehe ich nichts von vbs.

Und es fehlt mir die Übergabe der Werte in Batch-Variablen ...
Damit käme ich dann in der batch schon klar.

Weiß jemand wie man das machen kann ?

Danke, -wende-

bei Antwort benachrichtigen
mi~we -wende- „HD-Kapazität+Füllstand per Script auslesen ? (VBS in Batch)“
Optionen

Unter Vista/Win 7 kannst du diese Werte in einer Batch auch mit WMIC auslesen ( ob es WMIC in älteren Windows-Versionen gibt,kann ich so auf die Schnelle nicht sagen )

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
-wende- mi~we „Unter Vista/Win 7 kannst du diese Werte in einer Batch auch...“
Optionen

.. XP-Pro.

Danke, das funktioniert schon mal :-))

Aber wie krieg ich das Ergebnis in 'ne Batch-Variable ... ?

Ich muß ja auch den LW-Buchst. in den wmic-Aufruf übergeben, um per Schleife ALLE Kapazitäten in Batch-Variablen zu kriegen ...
... hm ...

bei Antwort benachrichtigen
-wende- Nachtrag zu: „.. XP-Pro. Danke, das funktioniert schon mal :-)) Aber wie...“
Optionen
---> GELÖST:
Der Hinweis auf WMIC führte mich zu folgender Lösung (für XP-Pro)


 @echo off &echo.

:: BATCH: LW-Buchst -> WMIC -> HD-Kapazität -> TXT -> Batch-Variable

set SIZE=
set LW=D     &REM durch Einlesen aller vorh. LW ersetzen
wmic logicaldisk where DeviceID='%LW%:' get Size > Size.txt
for /F "skip=1" %%i in ( 'type Size.txt ^| findstr /V "nix"' ) do set SIZE=%%i
del /Q Size.txt
echo SIZE ist: -%SIZE%-

echo.
echo.
pause

Das kann ich nun in Schleifen packen und verrechnen.
Schön :-))

bei Antwort benachrichtigen
mi~we -wende- „.. XP-Pro. Danke, das funktioniert schon mal :-)) Aber wie...“
Optionen
Aber wie krieg ich das Ergebnis in 'ne Batch-Variable ... ?
Dafür musst du aus der Ausgabe des wmic-Kommandos die zweite Zeile rausfischen. Kann man etwa so machen:

*würg*
"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
-wende- mi~we „Dafür musst du aus der Ausgabe des wmic-Kommandos die...“
Optionen

... ups !!

ich war schneller :-))

Trotzdem DANKE, denn schon Dein erster Tip brachte mich zur Lösung :-))

... hab das als 'beantwortet' gesetzt ... kommt aber kein grüner Haken ... hm ...

bei Antwort benachrichtigen
mi~we -wende- „... ups !!ich war schneller :-)) Trotzdem DANKE, denn schon...“
Optionen
ich war schneller :-))
Ja....während ich hier meine tolle demo.bat gebastelt habe, habe ich dein Posting natürlich nicht bemerkt.
Egal, Hauptsache es läuft!
"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
mi~we -wende- „... ups !!ich war schneller :-)) Trotzdem DANKE, denn schon...“
Optionen
... hab das als 'beantwortet' gesetzt ... kommt aber kein grüner Haken ... hm ..
Bei mir auch nicht. Bist schon der Zweite mit dem Problem:
http://www.nickles.de/forum/kritik-an-nickles/2012/als-beantwortet-markieren-538954876.html
"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
-wende- mi~we „Bei mir auch nicht. Bist schon der Zweite mit dem...“
Optionen
Egal, Hauptsache es läuft!
 ... ist es nicht ganz:  Deins ist besser :))  ich nehme Deins :)))

... und 'Würg'  .... hast völlig Recht. Hab aber keine Lust mit über 50 noch VBS zu lernen Cool

Brauch das alles zu selten :))

bei Antwort benachrichtigen