Hallo!
Habe schon wie verrückt im Internet gestöbert, konnte aber bislang nix zu meinem Problem finden. Allerdings denke ich, daß es für Profis ganz simpel zu lösen ist:
Ich ermittle in einer Batchdatei die Größe eines Ordners und lasse die Zeile mit der Größe mittels "findstr" in eine Textdatei schreiben.
Den Inhalt dieser Textdatei (oder das Ergebnis von "findstr") würde ich gerne als Variable setzen.
Aber wie funktioniert das?
In der Textdatei gibt es immer nur eine Zeile, und diese Zeile will ich mir per "net send" schicken lassen.
Ich dachte, daß ich diese Zeile erst als Variable setze (z.B. groesse) und dann einen Befehl mit net send absetze (z.B. net send COMPUTER Grösse des Ordners %groesse%
Aber weiß jemand, wie ich das Ergebnis eines Befehls in eine Variable setze?
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Ausgabe eines Befehl als Variable setzen?!?
Versuch es mit dem FOR befehl:
FOR /F "" %i IN ('echo hallo') DO @set myvar=%i
echo %myvar%
In der Textdatei gibt es immer nur eine Zeile, und diese Zeile will ich mir per "net send" schicken lassen.
Dann lieber gleich so:
FOR /F "" %i in (myfile.txt) do @net send %i
Beachte die exakte (nicht)verwendung von (doppelten)anführungszeichen!
http://www.rz.fh-ulm.de/rz/winnt/cmd.htm
mr.escape
Versuch es mit dem FOR befehl:
FOR /F "" %i IN ('echo hallo') DO @set myvar=%i
echo %myvar%
In der Textdatei gibt es immer nur eine Zeile, und diese Zeile will ich mir per "net send" schicken lassen.
Dann lieber gleich so:
FOR /F "" %i in (myfile.txt) do @net send %i
Beachte die exakte (nicht)verwendung von (doppelten)anführungszeichen!
http://www.rz.fh-ulm.de/rz/winnt/cmd.htm
mr.escape
Hallo mr. escape,
vielen Dank für die rasche Antwort - es funktioniert prächtig!!
Noch eine Frage habe ich:
Ich arbeite in dem FOR-Befehl mit tokens und setze die dann auf Variablen.
Eine Variable beinhaltet die Größe des Ordners (z.B. 8.746.431).
Wie kann ich damit "rechnen"? Möchte z.B. die Bytes auf MB umrechnen, geht das überhaupt oder wird das ganze nur als Textstring angesehen?
Wie kann ich damit "rechnen"?
Mit dem SET /A befehl kann man auch rechnen, aber die größenangaben mit tausendertrennzeichen müsste u.u. erst in maschinenlesbare form gewandelt werden (z.b. mit FOR /F "delims=.; tokens=1-4" %i IN ("123.345.543") DO @SET /a myvar=2 * %i%j%k%l).
mr.escape
Mit dem SET /A befehl kann man auch rechnen, aber die größenangaben mit tausendertrennzeichen müsste u.u. erst in maschinenlesbare form gewandelt werden (z.b. mit FOR /F "delims=.; tokens=1-4" %i IN ("123.345.543") DO @SET /a myvar=2 * %i%j%k%l).
mr.escape