mupfman
Goto Top

Ausgabe in Variable umleiten

Hallo,

ich habe mich hier frisch angemeldet, weil ich kurz eure Hilfe brauche. Eigentlich ist es nix ungewöhnliches und bestimmt auch schnell zu lösen, aber ich stehe momentan auf dem Schlauch und weiß einfach nicht weiter.. face-sad

Vorab: Das OS ist DOS 6.22. Tipps, die sich auf die Befehlserweiterungen von W2k/XP beziehen, helfen mir also u.U. nicht weiter. Bitte beachten.

Meine Situation ist folgende:

Mit den Befehlen

fdisk /status | cut 58 63

erhalte ich die Größe der Festplatte. Diese möchte ich später mit einem anderen Programm auswerten bzw. vergleichen. Dazu muss die Größe allerdings in einer Variable stehen und genau das ist mein Problem. Wie kann ich die Ausgabe in eine Variable umleiten?

Bei fdisk handelt es sich um FreeFDISK. Mit dem Parameter /status erhalte ich eine Übersicht, in der Informationen über Festplatten, Partitionen usw. ausgegeben werden.
cut schnippelt diese Übersicht auseinander, denn genau zwischen der 58. und 63. Stelle steht die Größe der HD. Ich könnte nun die Ausgabe mit > in eine Datei schreiben, aber das hilft mir nicht weiter. Oder kann ich den Inhalt der Datei in eine Variable übertragen?

Okay, das war schon alles.
Ich bin für jeden (kleinen) Tipp dankbar...

Gruß
Mupfman

Content-Key: 31509

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

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: maneich
maneich 02.05.2006 um 03:03:49 Uhr
Goto Top
Hallo,

nun bei DOS selbst ist es sehr schwierig eine Auswertung in eine Variable zu bekommen.

Aber test mal folgendes:

Den Output von FDISK überträgst Du zunächst in eine Textdatei mit

fdisk /status | cut 58 63>%temp%\tmp.txt

Dann habe ich hier eine kleine Batch, die dieses Datei liest und in eine Variable schreibt, aber nur die erste Zeile und in deinem Fall ist es ja ein Einzeiler.

Name = inpvar.bat
snip
@echo off
cls
rem Zeile aus Datei in eine Variable speichern
rem %%1 = Output[var]
rem %%2 = Befehl
rem %%3 = Pfad & Dateiname & .ext
set ~t1=%temp%\tmp
echo XP,;P_,EP0Ex0Ez0Em3Em-ZBP(Eiu![j@_YQ2M@53#@CI~.8'uxCISZ[SC5.bM!C>>%~t1%.com
%~t1%.com "set %%1=">>%~t1%.bat
%2 %3>>%~t1%.bat
call %~t1%.bat xo
set %1=%xo%
set xo=
del %~t1%.???>nul
cls
snap

call inpvar.bat a type "verzeichnispfad\dateiname.ext"

steht dann in %a% das Ergebnis. Übrigens die Datei %temp%\tmp.txt wird dabei gleich gelöscht.

MfG maneich