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
Kommentar vom Moderator Biber am 20.10.2009 um 18:44:33 Uhr
Menno, imebro,

Du weiißt noch nicht, wo Batchschnipsel hingehören? *tztz

Frage verschoben von "Windows" nach "Batches 4 All".
GELÖST

Dateigrößen per Batch ermitteln

Frage Entwicklung Batch & Shell

Mitglied: imebro

imebro (Level 2) - Jetzt verbinden

20.10.2009, aktualisiert 18:44 Uhr, 5677 Aufrufe, 9 Kommentare

Hallo,

heute ein neues Problem

Ich habe eine Batch-Datei geschrieben, die mir alle Videodateien auflistet, die sich im Laufwerk "S" und dessen Unterverzeichnissen befinden.
Ich habe dabei die folgenden Dateitypen abgefragt: *.avi; *.mpg; *.mpeg; *.flv; *.swf; *.wmv; *.mov; *.mp4

Das klappt wunderbar!

Nun würde ich gerne einfach nur die Größenangaben dieser Dateien ermitteln.
Z.B. --> AVI-Dateien auf Laufwerk "S" = 188 MB
-------> MPG-Dateien auf Laufwerk "S" = 225 MB

usw.

Ich habe hier zwar Angaben zum Ermitteln von Dateigrößen gefunden über FOR-Schleifen, aber damit bekomme ich das von mir
gewünschte Ergebnis nicht hin.

Hat jemand von Euch eine Idee?

Danke und Gruss
Ingo
Mitglied: bastla
20.10.2009 um 15:20 Uhr
Hallo imebro!

Versuch es etwa so:
01.
@echo off &setlocal 
02.
set "LW=S" 
03.
set "Typ=AVI" 
04.
for /f "tokens=3" %%i in ('dir /s /-c %LW%:\*.%Typ%^|findstr "Datei(en)"') do set "Gesamt=%%i" 
05.
echo %Typ%Dateien auf Laufwerk "%LW%" = %Gesamt% Byte
Das Ergebnis in %Gesamt% lautet auf "Byte"; soferne Du das nicht noch weiterverarbeiten willst, kannst Du beim "dir"den Schalter "/-c" weglassen - dann erhältst Du die Anzeige mit Tausendertrennzeichen.

Grüße
bastla
Bitte warten ..
Mitglied: imebro
21.10.2009 um 09:10 Uhr
Hallo bastla,

danke Dir - hat geklappt!

Ich habe die "set"-Angabe sowie die "echo %Typ%"-Angabe einfach um die restlichen 7 Dateiendungen erweitert und auch das ging grundsätzlich... allerdings mit einem falschen Ergebnis. Die Byte-Angabe bei den restlichen Datei-Endungen war immer die gleiche

So habe ich es gemacht:

01.
@echo off &setlocal  
02.
 
03.
 REM ***** Ermittlung der Größe aller Videodateien (AVI, MPG, MPEG, FLV, SWF, WMV, MOV, MP4) ***** 
04.
 
05.
set "LW=S"  
06.
 
07.
set "Typ1=AVI"  
08.
set "Typ2=MPG" 
09.
set "Typ3=MPEG" 
10.
set "Typ4=FLV" 
11.
set "Typ5=SWF" 
12.
set "Typ6=WMV" 
13.
set "Typ7=MOV" 
14.
set "Typ8=MP4" 
15.
  
16.
for /f "tokens=3" %%i in ('dir /s %LW%:\*.%Typ%^|findstr "Datei(en)"') do set "Gesamt=%%i"  
17.
  
18.
echo %Typ1%Dateien auf Laufwerk "%LW%" = %Gesamt% Byte > c:\xxx.txt 
19.
echo %Typ2%Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
20.
echo %Typ3%Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
21.
echo %Typ4%Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
22.
echo %Typ5%Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
23.
echo %Typ6%Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
24.
echo %Typ7%Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
25.
echo %Typ8%Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
26.
 
Das Ergebnis ist folgendes:

AVIDateien auf Laufwerk "S" = 3.430.230.806 Byte
MPGDateien auf Laufwerk "S" = 130.015.201 Byte
MPEGDateien auf Laufwerk "S" = 130.015.201 Byte
FLVDateien auf Laufwerk "S" = 130.015.201 Byte
SWFDateien auf Laufwerk "S" = 130.015.201 Byte
WMVDateien auf Laufwerk "S" = 130.015.201 Byte
MOVDateien auf Laufwerk "S" = 130.015.201 Byte
MP4Dateien auf Laufwerk "S" = 130.015.201 Byte

Nur die AVI-Angabe stimmt - der Rest der Byte-Angaben ist immer gleich und das ist definitiv falsch!

Ich habe jetzt die Zeile mit "for..." auch 8 Mal rein geschrieben mit Typ 1-8.... klappt leider auch nicht.
Jetzt werden bei allen Datei-Endungen genau 50.709.851 Byte ausgegeben.

Der Code sieht jetzt so aus:

01.
@echo off &setlocal  
02.
 
03.
REM ***** Ermittlung der Größe aller Videodateien (AVI, MPG, MPEG, FLV, SWF, WMV, MOV, MP4) ***** 
04.
 
05.
set "LW=S"  
06.
 
07.
set "Typ1=AVI"  
08.
set "Typ2=MPG" 
09.
set "Typ3=MPEG" 
10.
set "Typ4=FLV" 
11.
set "Typ5=SWF" 
12.
set "Typ6=WMV" 
13.
set "Typ7=MOV" 
14.
set "Typ8=MP4" 
15.
 
16.
for /f "tokens=3" %%i in ('dir /s %LW%:\*.%Typ1%^|findstr "Datei(en)"') do set "Gesamt=%%i" > c:\xxx.txt 
17.
for /f "tokens=3" %%i in ('dir /s %LW%:\*.%Typ2%^|findstr "Datei(en)"') do set "Gesamt=%%i" >> c:\xxx.txt 
18.
for /f "tokens=3" %%i in ('dir /s %LW%:\*.%Typ3%^|findstr "Datei(en)"') do set "Gesamt=%%i" >> c:\xxx.txt 
19.
for /f "tokens=3" %%i in ('dir /s %LW%:\*.%Typ4%^|findstr "Datei(en)"') do set "Gesamt=%%i" >> c:\xxx.txt 
20.
for /f "tokens=3" %%i in ('dir /s %LW%:\*.%Typ5%^|findstr "Datei(en)"') do set "Gesamt=%%i" >> c:\xxx.txt 
21.
for /f "tokens=3" %%i in ('dir /s %LW%:\*.%Typ6%^|findstr "Datei(en)"') do set "Gesamt=%%i" >> c:\xxx.txt 
22.
for /f "tokens=3" %%i in ('dir /s %LW%:\*.%Typ7%^|findstr "Datei(en)"') do set "Gesamt=%%i" >> c:\xxx.txt 
23.
for /f "tokens=3" %%i in ('dir /s %LW%:\*.%Typ8%^|findstr "Datei(en)"') do set "Gesamt=%%i" >> c:\xxx.txt 
24.
 
25.
echo %Typ1%-Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
26.
echo %Typ2%-Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
27.
echo %Typ3%-Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
28.
echo %Typ4%-Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
29.
echo %Typ5%-Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
30.
echo %Typ6%-Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
31.
echo %Typ7%-Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
32.
echo %Typ8%-Dateien auf Laufwerk "%LW%" = %Gesamt% Byte >> c:\xxx.txt 
33.
 
34.
start c:\xxx.txt
Und das Ergebnis so:

01.
AVI-Dateien auf Laufwerk "S" = 50.709.851 Byte  
02.
MPG-Dateien auf Laufwerk "S" = 50.709.851 Byte  
03.
MPEG-Dateien auf Laufwerk "S" = 50.709.851 Byte  
04.
FLV-Dateien auf Laufwerk "S" = 50.709.851 Byte  
05.
SWF-Dateien auf Laufwerk "S" = 50.709.851 Byte  
06.
WMV-Dateien auf Laufwerk "S" = 50.709.851 Byte  
07.
MOV-Dateien auf Laufwerk "S" = 50.709.851 Byte  
08.
MP4-Dateien auf Laufwerk "S" = 50.709.851 Byte 
Wie bekomme ich das hin?

Danke,
Ingo
Bitte warten ..
Mitglied: bastla
21.10.2009 um 13:08 Uhr
Hallo imebro!

Zur Verzierung noch eine zweite Schleife :
01.
@echo off &setlocal  
02.
 
03.
REM ***** Ermittlung der Größe aller Videodateien (AVI, MPG, MPEG, FLV, SWF, WMV, MOV, MP4) ***** 
04.
 
05.
set "LW=S"  
06.
set "Typen=AVI MPG MPEG FLV SWF WMV MOV MP4" 
07.
set "Log=C:\xxx.txt" 
08.
 
09.
if exist "%Log%" del "%Log%" 
10.
for %%t in (%Typen%) do ( 
11.
    for /f "tokens=3" %%i in ('dir /s %LW%:\*.%%t^|findstr "Datei(en)"') do echo %%t-Dateien auf Laufwerk "%LW%" = %%i Byte>>"%Log%" 
12.
)
Diese Variante ist leider ungetestet ...

Grüße
bastla
Bitte warten ..
Mitglied: imebro
21.10.2009 um 14:28 Uhr
Hi Bastla,

habe es eben getestet und es funktioniert auch...

Nur gibt es jede einzelne Datei mit ihrer Größe extra aus.
Besser wäre es, wenn es alle AVI, alle MPG... etc. jeweils zusammen zählen würde.

Geht das auch?

Nochmals danke!
Ingo
Bitte warten ..
Mitglied: bastla
21.10.2009 um 16:02 Uhr
Hallo imebro!

Bringen wir's zu einem (hoffentlich guten) Ende:
01.
@echo off & setlocal enabledelayedexpansion 
02.
 
03.
REM ***** Ermittlung der Größe aller Videodateien (AVI, MPG, MPEG, FLV, SWF, WMV, MOV, MP4) ***** 
04.
 
05.
set "LW=S"  
06.
set "Typen=AVI MPG MPEG FLV SWF WMV MOV MP4" 
07.
set "Log=C:\xxx.txt" 
08.
 
09.
if exist "%Log%" del "%Log%" 
10.
for %%t in (%Typen%) do ( 
11.
    for /f "tokens=3" %%i in ('dir /s %LW%:\*.%%t^|findstr "Datei(en)"') do set "Gesamt=%%i"  
12.
    echo %%t-Dateien auf Laufwerk "%LW%" = !Gesamt! Byte>>"%Log%" 
13.
)
Grüße
bastla
Bitte warten ..
Mitglied: imebro
21.10.2009 um 19:05 Uhr
Hi bastla,

vielen Dank für Deine erneute Mühe!

Bin jetzt zu Hause und werde die Batch gleich morgen Früh testen.
Wäre toll, wenn´s jetzt klappt.

Thanks,
Ingo
Bitte warten ..
Mitglied: imebro
22.10.2009 um 12:04 Uhr
Hallo bastla,

vielen Dank - hat super geklappt.

Ich müßte jetzt alle gefundenen Videodateien (mit allen Endungen) vom gesamten Laufwerk "S" ins Verzeichnis "S:\Archiv\ÖA\Videoarchiv" kopieren.
Dabei soll später jede Datei NUR EINMAL vorhanden sein.
In einem späteren Vorgang sollen die ursprünglichen Dateien (die ja jetzt alle zusammen in einem Verzeichnis liegen) dann gelöscht werden.

Kannst mir bitte dabei auch noch helfen?

Danke und Gruss
Ingo
Bitte warten ..
Mitglied: bastla
22.10.2009 um 12:32 Uhr
Hallo imebro!

Da das ein ganz anderes Thema ist, bitte einen neuen Thread eröffnen und dort auch gleich näher beschreiben, wie vor allem "NUR EINMAL" zu verstehen ist (welche Datei soll erhalten bleiben, wenn es mehrere gleichnamige gibt) ...

Grüße
bastla
Bitte warten ..
Mitglied: imebro
22.10.2009 um 14:48 Uhr
Hallo bastla,

danke für den Hinweis... hast natürlich Recht.
Habe die Frage jetzt im Thread: "Alle Videodateien per Batch kopieren" gestellt und auch entspr. ergänzt.

Dieser Thread hier ist somit gelöst!

Vielen Dank!
Ingo
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch oder PS um Datenvolumen zu ermitteln (13)

Frage von rudeboy 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
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (23)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (19)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...