petere
Goto Top

Toll zur Verwaltung von Files am Fileserver

Hallo,

ich bräuchte ein Tool, das verschiedene Wartungsarbeiten an einem Fileserver vornehmen kann. Leider kenne ich keine fertige Lösung und ehe ich mich ans selbst Programmieren mache wollte ich euch noch um Rat fragen. Beispiel-Operationen sind:

- lösche alle Dateien im Format *.bak, die älter als 14 Tage sind
- außer: die Datei wurde am 01.xx.xxxx erstellt (Monatsersten)

- Packe alle Dateien, die am 01.xx.xxxx (Monatsersten) erstellt wurden nach einem Kalenderjahr in eine .zip-Datei

- Packe alle *.txt-Dateien in diesem Unterordner in eine .zip-Datei, die älter als 30 Tage sind

- Protokolliere alle Operationen


Habt ihr da was Fertiges?
Viele Grüße,
Peter

Content-ID: 262130

Url: https://administrator.de/contentid/262130

Ausgedruckt am: 13.11.2024 um 22:11 Uhr

117643
Lösung 117643 03.02.2015, aktualisiert am 04.02.2015 um 09:08:48 Uhr
Goto Top
sowas kannste am besten selbst programmieren, zb mit autoit oder der kraftmuschel face-smile
colinardo
colinardo 04.02.2015 aktualisiert um 11:13:18 Uhr
Goto Top
Moin Peter,
kein Thema, mit Powershell alles schnell erledigt...
- lösche alle Dateien im Format *.bak, die älter als 14 Tage sind
- außer: die Datei wurde am 01.xx.xxxx erstellt (Monatsersten)
dir "C:\temp\*.bak" -recurse | ?{$_.LastWriteTime -lt (get-date).AddDays(-14) -and $_.LastWriteTime.Day -ne 1 } | Remove-Item -Force  
- Packe alle Dateien, die am 01.xx.xxxx (Monatsersten) erstellt wurden nach einem Kalenderjahr in eine .zip-Datei
# benötigt wird mindestens NET-Framework 4.5 und Powershell 3.0 
Add-Type -AssemblyName System.IO.Compression
Add-Type -AssemblyName System.IO.Compression.FileSystem
$files = dir C:\temp\*.* -recurse | ?{!$_.PSISContainer -and $_.LastWriteTime.Day -eq 1 }
$zip = [System.IO.Compression.ZipFile]::Open("C:\temp\myfile.zip",[System.IO.Compression.ZipArchiveMode]::Create)  
$files | %{[void][System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($zip,$_.FullName,$_.Name)}
$zip.Dispose()
- Packe alle *.txt-Dateien in diesem Unterordner in eine .zip-Datei, die älter als 30 Tage sind
# benötigt wird mindestens NET-Framework 4.5 und Powershell 3.0 
Add-Type -AssemblyName System.IO.Compression
Add-Type -AssemblyName System.IO.Compression.FileSystem

$files = dir ".\*.*" | ?{$_.LastWriteTime -lt (get-date).AddDays(30)}  
$zip = [System.IO.Compression.ZipFile]::Open("C:\temp\myfile.zip",[System.IO.Compression.ZipArchiveMode]::Create)  
$files | %{[void][System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($zip,$_.FullName,$_.Name)}
$zip.Dispose()
- Protokolliere alle Operationen
Das lass ich dir noch als Hausaufgabe face-wink

Grüße Uwe

p.s. Schreibfehler im Titel lassen sich korrigieren face-wink