Top-Themen

Aktuelle Themen (A bis Z)

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".

Frage Entwicklung Batch & Shell

GELÖST

Dateigrößen per Batch ermitteln

Mitglied: imebro

imebro (Level 2) - Jetzt verbinden

20.10.2009, aktualisiert 18:44 Uhr, 5728 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 ..
Ähnliche Inhalte
Mac OS X
Finale Dateigröße ohne Entpacken ermitteln
gelöst Frage von pelzfruchtMac OS X3 Kommentare

Moin, ich hab hier ein 27,1 GB großes *.bz2 Archiv. Das Problem: Wenn ich das Archiv entpacke könnte mich ...

Batch & Shell
Batch oder PS um Datenvolumen zu ermitteln
gelöst Frage von rudeboyBatch & Shell13 Kommentare

Guten Morgen zusammen, ist es möglich mit Hilfe von Batch oder PS-Skript die über die Netzwerkschnittstelle übertragene Datenmenge zB ...

Batch & Shell
Batch - Differenz zwischen zwei Zeilen ermitteln
Frage von ooDavidBatch & Shell3 Kommentare

Hi, ich habe ein Textfile in der in jeder Zeile eine Zahl steht (Sekunden). 380 428 455 458 464 ...

Batch & Shell
In einer Batch variable die Datei extension ermitteln ?
gelöst Frage von KriegstreiberBatch & Shell4 Kommentare

Servus, wieder einmal stehe ich vor einem Dilemmer wo die Lösung wahrscheinlich naheliegend ist, ich aber trotzdem nicht drauf ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Windows Server
DNS Forwarding an andere Domäne
Frage von detox91Windows Server9 Kommentare

Hallo, für Testzwecke haben wir bei uns eine zweite Windows Domäne (B.local) aufgebaut, welche komplett unabhängig und isoliert der ...