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

gelöst Göße aller Dateien eines Dateityps ermitteln (BATCH)

Mitglied: 101566

101566 (Level 1)

27.07.2011, aktualisiert 13:48 Uhr, 3440 Aufrufe, 11 Kommentare

Hallo Community,

in den letzten Tagen habe ich haufenweise Scripts, Tipps und nützliche Anleitungen hier entdeckt und war einfach begeistert.
Also hab ich mich heute dazu durch geringt mich anzumelden, da ich doch nicht alles für mich passendes finden konnte ;)
Ich war begeistert von dem Wissen und Engagement der Community.

Ich hoffe Ihr könnt mir helfen und viel Spaß:

Vorab:
Ich benutze Windows XP (falls das notwendig ist zu wissen^^)

Mein Problem/Aufgabe ist folgendes, ich möchte mit Hilfe einer BATCH-Datei die Größe aller Dateien eines Dateityps ermitteln.
Ich habe einen Ordner mit mehreren Dateien und unterschiedlichen Dateitypen. Davon möchte ich die Größe von speziell ausgewählten Dateitypen rausgefiltert bekommen und dies eventuell möglich machen für mehrere Dateitypen (z.B: doc und zip)



Ich habe schon ein bisschen rumgebastelt und bin auf folgendes gekommen:

set Quelle=c:\test\
set Typen=etx

FOR %%t in (%Typen%) do (
FOR /F "tokens=3" %%i in ('dir /-c /s %Quelle%*.etx') do set Gesamt=%%i
)
echo Groesse der Dateien: %Gesamt%

Allerdings treten folgende Fehler auf:
1. Fehler: Nach erfolgreichem Auslesen und Zusammenfassen der Dateigrößen von (z.B. doc) wird angezeigt:
0 Dir(s) und z.B: 40000000000 Bytes frei (also der freie Speicherplatz)

64697745cc873d28ff642956da2a90cd - Klicke auf das Bild, um es zu vergrößern

2. Fehler: Es werden nur die Dateigrößen des selben Dateityps zusammengefasst

3. Fehler wenn ich keine zip dateien habe und doc zuerst bei dateitypen angebe werden diese zwar ausglesen und zusammengefasst da aber *.zip nicht gefunden werden kann steht dann als
echo %Gesamt%=*Dateipfad*

Ich hoffe ihr könnt mir helfen und falls ihr noch zusätliche Informationen braucht, bzw. Fragen habt, ich bin da!

Vielen Dank,
Robert
Mitglied: bastla
27.07.2011 um 13:50 Uhr
Hallo Gdlii3Gmn und willkommen als Mitglied!

Versuch es etwa so:
01.
@echo off & setlocal 
02.
set "Quelle=c:\test" 
03.
set "Typen=doc zip" 
04.
 
05.
set "Spaces=                    " 
06.
for %%t in (%Typen%) do call :ProcessType %%t 
07.
goto :eof 
08.
 
09.
:ProcessType 
10.
set "Gesamt=%Spaces%0" 
11.
for /f "tokens=3" %%i in ('dir /s /-c "%Quelle%\*.%1" 2^>nul^|findstr "Datei(en)"') do set "Gesamt=%Spaces%%%i" 
12.
echo %1:%Gesamt:~-12% 
13.
goto :eof
Die Länge der Ausgabe (derzeit 12 Stellen) kannst Du variieren, indem Du den entsprechenden Wert in der Zeile 12 änderst ...

Grüße
bastla
Bitte warten ..
Mitglied: 101566
27.07.2011 um 13:56 Uhr
Wahnsinn ;)
kaum 15min und da hab ich schon eine super Antwort
Ich teste gleich mal und sag dann bescheid und danke dir Bastla

P.S. von Dir hab ich schon viel gelesen
Bitte warten ..
Mitglied: 101566
27.07.2011 um 14:22 Uhr
Könntest du "bastla" oder jmd anderes mir folgenden Ausschnitt erklären:

2^>nul^|findstr "Datei(en)"
Bitte warten ..
Mitglied: Skyemugen
27.07.2011 um 14:30 Uhr
Aloha,

nun, 2>nul leitet eventuelle Fehlermeldungen ins Nichts um (unterdrückt sie), da dies in der Klammer der Schleife ausgeführt wird, muss das Zeichen > mit ^ escaped werden,

ebenso das | Zeichen (pipe), das dazu genutzt wird, einen folgenden Befehl mit dem vorangegangenen zusammenzufügen.

Da in der dir-Ausgabe, die Zusammenfassung am Ende steht und hier die Information der Dateigröße in der Zeile mit Datei(en) vorkommt, sucht man also danach mit findstr "Datei(en)" und lässt somit nur das Ergebnis diesen Fundes (also hier die eine gewollte Zeile) ausgeben.

Also: Zeige mir das Directory, unterdrücke Fehlermeldungen und gebe nur als Ergebnis die Zeile aus, in der Datei(en) vorkommt

greetz André
Bitte warten ..
Mitglied: 101566
27.07.2011 um 15:01 Uhr
Vielen Dank André,

Unten ist ein Bild von der Ausgabe bei folgendem Code:

01.
set "Quelle=c:\test" 
02.
set "Typen=doc zip"  
03.
 
04.
for %%t in (%Typen%) do call :ProcessType %%t 
05.
goto :eof  
06.
 
07.
:ProcessType 
08.
set "Gesamt=%Spaces%0" 
09.
for /f "tokens=3" %%i in ('dir %Quelle%\*.%1 /s /-c 2^>nul^|findstr "Datei(en)"') do set "Gesamt=%Spaces%%%i" 
10.
echo %1:%Gesamt:~-9% 
11.
goto :eof
ca877776ffdebc9836dfdfaef2cd55ff - Klicke auf das Bild, um es zu vergrößern

Was mach ich falsch? Findet Ihr ein Fehler?

P.S. ohne 2^>nul^|findstr "Datei(en)" erhalte ich folgende Ausgabe:

4a19aec9fdcb6b8f37d47e04095a5b73 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: Friemler
27.07.2011 um 15:50 Uhr
Hallo Gdlii3Gmn,

Du benutzt anscheinend ein englisches XP, dort musst Du schreiben
for /f "tokens=3" %%i in ('dir %Quelle%\*.%1 /s /-c 2^>nul^|findstr "File(s)"') do set "Gesamt=%Spaces%%%i"
Gruß
Friemler
Bitte warten ..
Mitglied: 101566
27.07.2011 um 15:59 Uhr
Das klappt !
Ich danke dir sehr!

Und hoffe du liest meine Fragen in Zukunft früher

danke und gruß,
robert
Bitte warten ..
Mitglied: Skyemugen
27.07.2011 um 16:00 Uhr
... hm, das hätte uns auffallen sollen, schon beim ersten Screenshot (aber ehrlich gesagt, habe ich den ignoriert *pfeif*) ^_^

Na, immerhin Friemler passt auf, höhö.
Bitte warten ..
Mitglied: 101566
27.07.2011 um 16:06 Uhr
Ich wäre nie drauf gekommen und wusste das nicht einaml im Ansatz!

ich werde zur Vollständigkeit später mien Script nochmal nach editieren...
Ich danke euch..

@Skyemugen... das ist das problem wenn die frage stellung zu lang ist, dann liest man nur die hälfte ;)

nächstes mal kürze ich es ;)
gruß
robert
Bitte warten ..
Mitglied: Friemler
27.07.2011 um 16:20 Uhr
Hallo Gdlii3Gmn,

um sprachunabhängig zu werden, könntest Du auch
for /f "tokens=3" %%i in ('dir %Quelle%\*.%1 /s /-c 2^>nul^|findstr /i /r /c:"[0-9] Bytes$"') do set "Gesamt=%Spaces%%%i"
benutzen. Damit wird nach der Zeile gesucht, die mit Bytes (groß oder klein geschrieben) endet. Davor muss, durch ein Leerzeichen getrennt, eine Ziffer stehen.

Gruß
Friemler
Bitte warten ..
Mitglied: 101566
27.07.2011 um 16:25 Uhr
Super, Danke,
kann ich gut gebrauchen!

ich mach mal ein nuees Thema auf, für nuee Fragen^^

Gruß,
Robert
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Anzahl Dateien eines oder mehreren Dateityps per Batch oder Powershell

gelöst Frage von pixel0815Batch & Shell14 Kommentare

Hallo liebe Gemeinde, gibt es eine einfache Möglichkeit ein Laufwerk nach verschiedenen Dateitypen zu durchsuchen? Ich möchte nur die ...

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

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

PS: Dateien anhand des Dateityps und des Änderungsdatums in Ordner verschieben

gelöst Frage von Jenny82Batch & Shell2 Kommentare

Hallo zusammen, Mein Skript sieht bisher so aus: $quelle = 'c:\Test' $ziel_str = 'd:\Test' Dateityp - $mapTyp = @{ ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 1 TagE-Mail7 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 1 TagHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 1 TagSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 2 TagenServer-Hardware4 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server37 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Sicherheits-Tools
Virenprogramm lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools23 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server17 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...

Windows 10
Best Practice für Schulungsräume
Frage von Sn0wFoxWindows 1016 Kommentare

Hallo, leider bin ich auch nach langer Suche nicht auf eine zufriedenstellende Nicht-Cloud-Lösung gestoßen und wollte mal Fragen ob ...