Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Größe aller Dateien in einen Verzeichnis bestimmen

Frage Entwicklung Batch & Shell

Mitglied: duddits

duddits (Level 2) - Jetzt verbinden

19.12.2005, aktualisiert 21.12.2005, 7242 Aufrufe, 9 Kommentare

Hi,

ich möchte ein Script(.bat) schreiben, das mir dir größe aller Dateien und Verzeichnisse in einem Verzeichnis angibt.
Ich weiß aber nicht wie ich das umsetzen soll?
Ich bräuchte erstmal einen Befehl der mir dir größe jeder Datei angibt und nicht alles zusammen zählt.
Am besten wäre noch wenn die größe der Dateien in MB angegeben wird.

Mit freundlichen Grüßen duddits
Mitglied: ketchup
19.12.2005 um 12:04 Uhr
diese tools gibts schon. müsstest nicht nochmal selbst erfinden.

du kannst zb das tools DIRUSE.EXE aus dem resourcekit benutzen.


jürgen
Bitte warten ..
Mitglied: Honksen
19.12.2005 um 12:23 Uhr
Hallo,

es geht glaub ich auch DIR SIZE VIEW.

Honk
Bitte warten ..
Mitglied: duddits
19.12.2005 um 12:34 Uhr
Hi,

danke für die schnelle Hilfe, das Tool diruse.exe ist genau das wonach ich gesucht habe.
Danke.

Mit freundlichen Grüßen dudidts
Bitte warten ..
Mitglied: Biber
19.12.2005 um 12:54 Uhr
...schade, sonst hätte ich noch ein paar DirSize.bat-Oneliner gepostet
Bitte warten ..
Mitglied: duddits
19.12.2005 um 13:00 Uhr
@Biber
Hi,

das Problem ist zwar gelöst, aber da ich gerne was dazu lerne könntes du deine DirSize.bat-Oneliner posten (am besten mit einer kurzen erklärung).

Mit freundlichen Grüßen duddits
Bitte warten ..
Mitglied: Biber
19.12.2005 um 22:09 Uhr
So, duddits,
hatte noch anderes zu tun, aber wollte noch kurz antworten.

Wobei natürlich die Antwort einen eher spielerischen Charakter hat - ich will mit meinen Onelinern keine in C# programmierten Utilities nit 7 Parametern und 34 DLL-Aufrufen ersetzen...

Was M$ ja schon immer vergessen hat, ist ein simples CMD-Utility, mit dem ich "eben mal" auch im Batch folgende drei Fälle abfackeln kann:
-> wieviel Byte sind im Verzeichnis xy durch Dateien belegt?
-> wieviel Byte sind im Verzeichnis xy und in allen Unterzeichnissen durch Dateien belegt?
-> wieviel Byte sind im Verzeichnis xy durch Dateien vom Typ *.doc (oder 1999*.log) belegt?

M$ hatte da immer wieder mal kurz aufflackernde Ansätze (TreeSize, DirUse,..) aber nichts, was alle drei Anforderungen abdeckt.
Gerade DirUse.exe ist doch wohl albern:
(Abfrage aktuelles Verzeichnis E:\jokes)
01.
>diruse . 
02.
 
03.
    Size  (b)  Files  Directory 
04.
      8367760     82  SUB-TOTAL: . 
05.
      8367760     82  TOTAL: . 
06.
~~
Bitte wie soll ich so einen Output weiterverarbeiten?? Und, jetzt kommt es:
01.
>diruse *.txt 
02.
 
03.
    Size  (b)  Files  Directory 
04.
Unknown Error      0  *.TXT 
05.
            0      0  TOTAL: *.TXT 
06.
~~~~
Na, klasse... dafür hat ein Redmonder Team 3 Jahre gebraucht...*seufz*

wenn ich statt dessen am CMD-Prompt eingebe:
01.
>dir e:\jokes|find "Datei(en)" 
02.
              65 Datei(en)      7.244.837 Bytes
...habe ich mehr Informationen und schneller
-und-
01.
>dir e:\jokes\*.jpg|find "Datei(en)" 
02.
               8 Datei(en)        986.303 Bytes
...das kann ich auch *gg

Nachteil: Was ich eigentlich wollte, war ja nur eine Bytezahl, nach dem Motto: wenn ich mehr als 40000000 Byte an Logdateien im Verzeichnis habe, lösch ich die ältesten oder so.

Als etwas kryptischer CMD-Oneliner sieht das so aus:
01.
>>set/a "sum=0">nul & (for /f "delims=" %i in ('dir /b /a-d') do @Set/a sum+=%~zi>nul ) & echo %sum% 
02.
7244837
...aber den würde ich auch in mehrere Zeilen auseinanderziehen, damit er lesbar wird (aber ich will ihn ja als CMD-zeile abschicken, nicht als Batch!)
01.
::---als Batch 
02.
@echo off 
03.
set/a "sum=0">nul  
04.
for /f "delims=" %%i in ('dir /b /a-d') do @Set/a sum+=%%~zi>nul 
05.
echo %sum% 
06.
:: ----
[Output wäre wieder: 7244837]

Und ich kann dieselbe Mimik in einer FOR /R..IN..DO- Anweisung dazu nutzen, alle Unterverzeichnisse zu durchsuchen... eben auch mit Gesamtgrößenangaben bezogen auf Dateitypen. Die FOR /R-Variante hatte ich schon mal gepostet (aber noch nicht wiedergefunden), eine FOR /F-Variante lass ich mal hier:

01.
::---dirsizeMitFORF.bat 
02.
@echo off & setlocal  
03.
Set DIRCMD=  
04.
If exist %1 (  
05.
  for /f "tokens=3" %%c  in ('dir %1 /s ^| findstr /c:Datei^(en^) ') do set DirSize=%%c  
06.
)  
07.
if defined DirSize echo %DirSize%  
08.
::---dirsizeMitFORF.bat
Die FOR /R-Variante reiche ich nach, sobald ich sie finde.
Und, wie geschrieben, alles nur aus for educational purposes, nicht als direktes Konkurrenzprodukt zu irgendwelchen Utility-Exedateien.
Gruß Biber
Bitte warten ..
Mitglied: superboh
20.12.2005 um 04:13 Uhr
@Biber:
Du schaffst es doch immer wieder aus einem (fast) Einzeiler ein Tuturial zu machen . Wenn ich mir das Ganze doch nur besser merken könnte .

Gibt es da einen Trick? Oder ein gutes Buch? Wohl nicht, oder hast Du schon eines geschrieben?

Gruss,
Thomas
Bitte warten ..
Mitglied: Biber
20.12.2005 um 17:28 Uhr
@thomas
>>Du schaffst es doch immer wieder aus einem (fast) Einzeiler ein Tuturial zu machen...

Hmm...ich nehm das mal als Kompliment... oder hieß das durch die Blume "Schwafel nicht so viel rum!" ???

Für ein Buch habe ich noch keinen Verleger gefunden, ich hätte aber bestimmt auch Schwierigkeiten, irgendein beliebiges Thema nach meinem subjektiven Gefühl tatsächlich vollständig abgehandelt zu haben.
"Erschöpfend" behandelt vielleicht... für die Leser, aber "vollständig"?? *gg

Grüße Biber

P.S. @duddits
...eine Anzeige/Umrechnung der Bytes in KByte oder MByte wäre auch kein Problem.
Hab ich mir geschenkt, weil... ein "Set /a sum /=1024" bekommst Du auch ohne mich hin, glaub ich.
Bitte warten ..
Mitglied: duddits
21.12.2005 um 11:57 Uhr
Hi,

noch mals danke für deine Hilfe, echt super was du da gebastelt hast.

Mit freundlichen Grüßen duddits
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...