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

Dateigröße herausfinden per BATCH

Frage Entwicklung Batch & Shell

Mitglied: Schimpy

Schimpy (Level 1) - Jetzt verbinden

16.04.2007, aktualisiert 17.04.2007, 21925 Aufrufe, 12 Kommentare

mit BATCH herausfinden wie groß die Dateien unterhalb von D:\ sind...

mit ner BATCH Datei herausfinden wie groß die Dateien unterhalb von D:\ sind...

jemand ne IdeE?
Mitglied: bastla
16.04.2007 um 12:44 Uhr
Hallo Schimpy!

Etwa so:
01.
for /f "tokens=1-3" %i in ('dir d:\ /s /-c ^|find "Datei(en)" ^|find "Bytes"') do set Gesamt=%k 
02.
echo %Gesamt%
Grüße
bastla
Bitte warten ..
Mitglied: Janni
16.04.2007 um 12:46 Uhr
Was hältst Du von dem Befehl "dir" ...... ?
Bitte warten ..
Mitglied: Dani
16.04.2007 um 12:53 Uhr
Hi,
schau mal die Lösung von "bastla" an!


Gruß
Dani
Bitte warten ..
Mitglied: Biber
16.04.2007 um 13:13 Uhr
@Schimpy
1. Oder folge den Links der Fundstellen von Forumssuche nach "DirSize".
2. Und beachte auch bitte die Forumsregeln insbesondere Punkt 5 "Freundlichkeit".
Ein "Guten Tag" und "Guten Weg" bekomme ich sogar von den Rausschmeissern auf der Bremer Discomeile.
Das erwarte ich auch hier.

Gruß
Biber
Bitte warten ..
Mitglied: Schimpy
16.04.2007 um 13:27 Uhr
Guuuuten Tag!

I am so sorry

nächstes mal denke ich wieder dran, war irgendwie im Stress
und mal wieder mit mehreren Sachen gleichzeitig beschäftigt.

Die o.a. Lösung klappt bei mir nicht wirklich, bzw. ich kann sie nicht richtig "einsetzen"

wenn ich sie in die Kommandozeile reinpacke, gibt er mir en paar Größen an
wenn ich sie in ne *.bat Datei kopiere -> "\" ist syntaktisch an dieser Stelle nicht verarbeitbar...

weiss nicht ganz wie ich weiterverfahren soll?

danke!

Gruß
Schimpy
Bitte warten ..
Mitglied: Biber
16.04.2007 um 13:32 Uhr
Moin Schimpy,

bastlas Zeilen funktionieren so wie gepostet am CMD-Prompt.

Im Batch (also nach dem Testen am CMD-Prompt) alle einfachen Prozentzeichen vor den dynamischen Variablen (%i, %k...) ersetzen durch doppelte Prozentzeichen (%%i, %%k...)

Bei der nicht-dynamischen Variable %Gesamt% bleibt es so wie es ist.

P.S. Sorry akzeptiert. Biber wieder lieb is'

Biber
Bitte warten ..
Mitglied: Schimpy
16.04.2007 um 13:57 Uhr
Huhu, ich wieder ;))

jeppa, habs geändert und das Script läuft einwandfrei durch.

Allerdings zeigt mir die Version ja nur die komplette Größe von zB D:\ an...

nun hab ich mal weitergesucht und deinen "Oneliner" DirSize gefunden

01.
::------snipp Dirsize.bat (Parameter1 Verzeichnisname [opt Par2: /R wie Rekursiv] /opt. par3 =Ebenen 
02.
@echo off & setlocal & Set DIRCMD= 
03.
IF /i [%2]==[/R] for /R "%~1" %%a in (.) do @%0 "%%a" %3 
04.
if not [%2]==[] Set /a "Level=%2+2" 
05.
if defined level for /f "delims=\ tokens=1,%level%" %%i in ("%~1") do if not [%%j]==[] goto :eof 
06.
If exist "%1" (    
07.
  for /f "tokens=3" %%c in ('dir "%~1" /s ^2^>nul^| findstr /c:"Datei(en)" ') do set DirSize=%%c 
08.
09.
set "space20=                 " 
10.
if defined DirSize set "Dirsize=%space20%%Dirsize%" 
11.
if defined DirSize echo %DirSize:~-15%    %~f1 
12.
::------snapp Dirsize.bat 
13.
 
E:\Dirsize.bat D:\
gibt mir nur aus, wie groß D:\ komplett ist

und zB:
E:\Dirsize.bat D:\*.*
geht in den ersten Ordner rein...

kann ich nicht jede Datei durchscannen?

ich habs doch nicht so mit Schleifen

danke für Eure Mühe
Bitte warten ..
Mitglied: bastla
16.04.2007 um 14:20 Uhr
Hallo Schimpy!

Vielleicht beschreibst Du einmal ganz genau, was für ein Ergebnis Du eigentlich anstrebst - das macht's etwas einfacher ...

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
16.04.2007 um 14:57 Uhr
Jede Datei? Naja wenn Dus willst:
Im Batch:
for /f "delims=" %%i in ('dir d:\ /s /B') do Echo Datei:"%%~fi" Grösse:%%~zi

miniversum
Bitte warten ..
Mitglied: Schimpy
16.04.2007 um 15:05 Uhr
@miniversum

tutto perfetto!

genau so wollt ich es haben, thx

Vielen Dank!

P.S.: wärs schwer da noch ne Abfrage reinzupacken...
alle Dateien die größer 1MB sind ins Ergebnis zu schreiben?

bzw. Punkte zur Trennung von byte, kbye, mbyte, gbyte zu machen?
nicht 2567890
sondern 2.567.890 MB?

danke
Bitte warten ..
Mitglied: miniversum
16.04.2007 um 16:15 Uhr
Klar das geht alles:
01.
@echo off & setlocal enabledelayedexpansion 
02.
for /f "delims=" %%i in ('dir /s /B') do ( 
03.
if %%~zi gtr 1048576 ( 
04.
set size=%%~zi 
05.
set /a mb=!size!/1000000 
06.
set /a kb=!size!-!mb!*1000000 
07.
set /a kb=!kb!/1000 
08.
set /a b=!size!-!mb!*1000000-!kb!*1000 
09.
set kb=000!kb! 
10.
set b=000!b! 
11.
 
12.
Echo Datei:"%%~fi" Grösse:!mb:~-3!.!kb:~-3!.!b:~-3! 
13.
14.
)
miniversum
Bitte warten ..
Mitglied: Biber
17.04.2007 um 19:33 Uhr
Moin Schimpy und miniversum,

freue mich als Mod immer über so kurzweilige und gehaltvolle Batch-Beiträge.

Danke Euch beiden und ich schließe den Beitrag mal.

Wüsste nicht, was da noch viel zu verfeinern wäre...

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Batch zum bearbeiten mehrerer CSV (3)

Frage von Matzus87 zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...