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

Wie zählt man mittels batch-file Dateien in Verzeichnissen inkl Unterverzeichnissen die ÄLTER als zb. 6 Monate bzw 180 tage sind

Frage Entwicklung Batch & Shell

Mitglied: bernd8183

bernd8183 (Level 1) - Jetzt verbinden

20.01.2012 um 19:45 Uhr, 4544 Aufrufe, 6 Kommentare

hallo,
erst seit kurzem beschäfzige ich mit batch und stehe jetzt vor der frage wie ich in 200 verzeichnissen und 50000 dateien die files zählen kann, die älter als ein halbes Jahr sind.
Löschen mit delage wie ich es hier oft gelesen habe möchte ich nicht... nur zählen....


vorab danke für die hilfe

hie mal rein Auszug, was ich bisher gemacht hab... funtioniert auch soweit...


set /A filecnt=0
set /A textfilecnt=0
set /A dircnt=0
set /A oldfilescnt=0

for /F %%i in ('dir "c:\seib\quelldat" /B/S /A-d') do set /A filecnt=filecnt+1
for /F %%i in ('dir "c:\seib\quelldat" /B /Ad') do set /A dircnt=dircnt+1
for /f %%i in ('dir "C:\seib\quelldat" /B/S ^2^>nul^|find /C /I ".txt"') do set /a textfilecnt+=%%i

echo %DATE:~-4%%DATE:~-10,2%%DATE:~-7,2%;%TIME%;folder=;%dircnt%;files=;%filecnt%;textfiles=;%textfilecnt%;files älter als XXTage;%%oldfilescnt >>c:\seib\zieldata\output.txt


das Ergebnis ist ein logfile in dem nach jedem batchlauf ein zeile mit Zeitstempel, anzahl allervorhanden files, anzahl aller txt-files erzeugt wird

jetzt soll hier noch zusätzlich die anzahl aller dateien älter 6 Monate ausgegeben werden...

wer kann helfen?
Mitglied: bastla
20.01.2012 um 20:33 Uhr
Hallo bernd8183 und willkommen im Forum!
wer kann helfen?
delage

... hat auch einen Schalter "preview" zu bieten ...

... und ansonsten VBS.
Übrigens könnte
for /F %%i in ('dir "c:\seib\quelldat" /S/W^|findstr "Datei(en)" 2^>nul') do set /A filecnt=%%i
bzw
for /F %%i in ('dir "c:\seib\quelldat" /S/W^|findstr "Verzeichnis(se)," 2^>nul') do set /A dircnt=%%i
und
for /F %%i in ('dir "c:\seib\quelldat\*.txt" /S/W^|findstr "Datei(en)" 2^>nul') do set /A textfilecnt=%%i
nicht nur (wegen der "Code"-Formatierung) besser lesbar, sondern auch performanter sein ...

... und da ich schon mal dabei bin: Ein immer wiederkehrender Bestandteil wie der Pfad "c:\seib\quelldat" schreit nach der Verwendung einer Variablen.

Grüße
bastla
Bitte warten ..
Mitglied: pieh-ejdsch
21.01.2012, aktualisiert 09.10.2012
moin Bernd,

Robocopy könnte auch eine Alternative dazu sein.
01.
for /f "tokens=1,3" %%i in ('Robocopy /l /s /r:0 /minage:180 D:\In-dem-Ordner-suchen X ^|findstr "Dateien:"') do set /a %%i=%%j 
02.
echo Alte Dateien %Dateien:%
Gruß Phil
Bitte warten ..
Mitglied: bernd8183
21.01.2012 um 18:52 Uhr
Danke... hat geklappt... hab mir delage besorgt und folgendes umgesetzt:


cd C:\seib\skripte
DelAge32.exe C:\seib\quelldat\*.* 1 /preview >c:\seib\zieldata\tmp_count_older_files.txt
cd %zielpfad%
FOR /F "delims=:" %%A IN ('findstr /N .* "tmp_count_older_files.txt"') DO set /A oldfilecnt=%%A
..........

jetzt "spiel" ich noch ein bischen damit und die Performance-optimierungen schau ich mir auch noch an... danke dafür
Bitte warten ..
Mitglied: bernd8183
21.01.2012 um 18:52 Uhr
danke ... werd ich bei gelegenheit mal einbauen....
Bitte warten ..
Mitglied: bastla
21.01.2012 um 20:04 Uhr
Hallo bernd8183!

Wolltest Du nicht eigentlich 60 Tage und auch die Unterordner berücksichtigen? Eine Temp-Datei sollte auch nicht nötig sein:
for /f "delims=:" %%i in ('delage32 C:\seib\quelldat\*.* 60 /recurse /preview^|findstr /n "."') do set /A oldfilecnt=%%i
Grüße
bastla
Bitte warten ..
Mitglied: bernd8183
21.01.2012 um 23:28 Uhr
auch nicht schlecht ! aber zum testen war 1 Tag und eine temp-datei für mich ganz gut...


fehlendes /recurse hab ich damit auch noch bemerkt...


danke und gruß
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch : alle Dateien eines Ordners bearbeiten (1)

Frage von deguonkel zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien zusammenführen inkl. finden von doppelten Einträgen (3)

Frage von miczar zum Thema Batch & Shell ...

Batch & Shell
"Generic" Drucker mit batch - File erstellen (6)

Frage von MrPreesident zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Festplatten, SSD, Raid
gelöst Fehlerhafte Blöcke im RAID 10 (12)

Frage von Kojak-LE zum Thema Festplatten, SSD, Raid ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (12)

Frage von planetIT2016 zum Thema Windows Server ...

Netzwerkgrundlagen
gelöst Cisco SG500 Series LAG hat sich von selbst umgestellt (11)

Frage von Ex0r2k16 zum Thema Netzwerkgrundlagen ...