flash-gordon
Goto Top

Ordnergröße auf Server Share

Hallo,

ich weiß ich weiß, diese Thema wurde schon 100 und Ein mal hier durchgekaut, aber ich steh irgendwie auf dem Schlauch.
Hab im Forum dieses Script vom Biber gefunden und das wird mir auch sicherlich helfen mein Problem zu lösen.
::------snipp Dirsize.bat (Parameter1 Verzeichnisname [opt Par2: /R wie Rekursiv] /opt. par3 =Ebenen
@echo off & setlocal & Set DIRCMD=
IF /i [%2]==[/R] for /R "%~1" %%a in (.) do @%0 "%%a" %3  
if not [%2]== Set /a "Level=%2+2"  
if defined level for /f "delims= tokens=1,%level%" %%i in ("%~1") do if not [%%j]== goto :eof  
If exist "%1" (     
  for /f "tokens=3" %%c in ('dir "%~1" /s ^2^>nul^| findstr /c:"Datei(en)" ') do set DirSize=%%c  
)
set "space20=____________________"  
if defined DirSize set "Dirsize=%space20%%Dirsize%"  
if defined DirSize echo %DirSize:~-15%    %~f1
::------snapp Dirsize.bat


Problem: ich bekomm das Ding nicht auf ein Servershare umgeschrieben.
Also auslesen will ich z.B.: \\server01\user02

Content-Key: 63389

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

Printed on: April 25, 2024 at 05:04 o'clock

Member: bastla
bastla Jul 09, 2007 at 18:15:37 (UTC)
Goto Top
Hallo flash-gordon!

Sollte problemlos so aufzurufen sein (ohne "umschreiben"):
Dirsize.bat \\Server01\User02 /R

Grüße
bastla
Member: flash-gordon
flash-gordon Jul 09, 2007 at 18:31:03 (UTC)
Goto Top
Mmmhhh... jau, das läuft wohl, aber wo ist der LOG abgeblieben?!

ich dreh durch!
Member: bastla
bastla Jul 09, 2007 at 18:38:00 (UTC)
Goto Top
Hallo flash-gordon!

Ich bin zwar noch am Rätseln, was Du damit genau meinst, aber wie wäre es mit folgender Variante:
Dirsize.bat \\Server01\User02 /R > D:\Log.txt

Grüße
bastla
Mitglied: 50496
50496 Jul 09, 2007 at 18:51:00 (UTC)
Goto Top
Ich hab da auch was, die Ergebnisse sind aber unterschiedlich. face-big-smile

Bei meiner Batch kommt mehr raus.

@echo off & setlocal
if "%1"=="" echo Kein Laufwerk/Pfad angegeben & goto :eof  

dir %1 /a /s /w | find "Bytes" > %temp%\inhalt.txt  
set count=0
for /F "delims=*" %%i in (%temp%\inhalt.txt) do set zeile=%%i & set /a count=count + 1  
set /a count=count-2
echo Zusammenstellung fuer %1
for /F "skip=%count%  delims=*" %%i in (%temp%\inhalt.txt) do echo=%%i  
del %temp%\inhalt.txt

Bei beiden Versionen fehlt auch noch der durch Verzeichnisse belegte Speicher.
Member: flash-gordon
flash-gordon Jul 09, 2007 at 18:53:08 (UTC)
Goto Top
dann steht in dem log das hier:


nüschts!
Member: flash-gordon
flash-gordon Jul 09, 2007 at 19:00:00 (UTC)
Goto Top
Also vielleicht doch nochmal:

Ich will das mir per Batch in eine txt Datei die Größe aller Dateien und Ordner auf \\Server01\User02 geschrieben werden.
Ob als gesamtergebnis, oder einzeln aufgelistet ist mir egal.
Mitglied: 50496
50496 Jul 09, 2007 at 19:06:37 (UTC)
Goto Top
Die Größe der Ordner sowie die Größe des tatsächlich belegten Festplattenspeichers bekommst du mit einem Konsolenbefehl nicht raus.
Was der Dir-Befehl hergibt, ist die tatsächliche Größe aller Dateien auf dem entsprechenden Pfad. Die Dateien belegen aber tatsächlich
(je nach Größe) entweder mehr ( > ca. 1500 Byte Dateigröße), abhängig von der Cluster-Größe oder weniger, weil Dateien < ca 1500 Byte komplett in der MFT gespeichert werden, zumindest bei NTFS. Und wenn die Dateien dann auch noch Streams aufweisen (die nicht angezeigt werden), stimmt nichts mehr. face-big-smile

Windows rechnet aber den freien und belegten Plattenspeicher in Clustern. Und um das rauszubekommen, muss man die API verwenden.
Member: Biber
Biber Jul 09, 2007 at 19:52:40 (UTC)
Goto Top
@50496

Hhmja... die Angaben sind in der tat "ungenau" und in der Regel um einiges zu niedrig,
Wie Du richtig angemerkt hast, werde ja nur die "benutzten" Byte in der Dateigröße bei "DIR" ausgegeben, nicht die belegten.
Die Frage ist nur, ob es in der Regel so sehr ins Gewicht fällt... in Zeiten, in denen ein normales One-Trick-Freeware-Utility schon als 2,8 MegaByte-.msi-Datei daherkommt und eine der lustigen *.pps-Dateien, die immer als Rundmail durchs Unternehmen geistern anderthalb MegaByte groß ist.
Und manch ein kleiner Videoclip für die Frühstückspause ist 8 MegaByte groß - kaum zu glauben, wo die jungen Frauen darin doch gar nicht viel anhaben...

Ich denke, von Extremfällen abgesehen (z.B. ein Temp-Ordner oder ein Papierkorb mit Tausenden von so genannten 0-Byte-Dateien) zeigt so ein Mini-Utility durchaus schon erkennbar die Relationen.

Eine genauere Ermittlung kann IMHO nur auf (massive) Kosten der Berechnungsgeschwindigkeit gehen, da ja dann für jede einzelne Datei erstmal auf die nächsthöhere Clustergröße aufgerundet werden muss.
Und daran zerbrechen auch einige Möchtegern-Professionelle Tools, die es z.B. als Explorer-Erweiterungen (zusätzliche Reiter "Ordnergröße" etc. ) auf dem Markt gibt.

Da würde ich auch zwischen Aufwand und Nutzen abwägen.

Grüße
Biber

P.S. Das Verkürzen der Ausgabe mit "dir ..../W" ist aber eine richtig gute Idee...
Mitglied: 50496
50496 Jul 09, 2007 at 20:33:36 (UTC)
Goto Top
@ Biber

> P.S. Das Verkürzen der Ausgabe mit "dir ..../W ist aber eine richtig gute Idee...

Warum soll ein blindes Huhn nicht auf mal ein Korn finden? face-big-smile

Aber die Addition der gefundenen Größen zwischen deiner und meiner Version dürfte übereinstimmen, wenn du auch
dir /a verwenden würdest. Dann werden nämlich wirklich alle Attribute berücksichtigt. face-wink

> Da würde ich auch zwischen Aufwand und Nutzen abwägen.

Man könnte aber auch an eine Textdatei mit 2 Byte eine 4GB große Video-Datei als Stream ranpfriemeln, dann fehlen dir 4 GB in der Summe! face-big-smile