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, 4522 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
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 ...

Batch & Shell
Batch vergleich Dateien if else (2)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...