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

Dateien Löschen älter 30 Tage mit Powershell

Frage Microsoft Windows Server

Mitglied: shannra666

shannra666 (Level 1) - Jetzt verbinden

09.07.2012 um 14:08 Uhr, 16401 Aufrufe, 5 Kommentare

Ich möchte aus unserem Backup alle Dateien löschen, welche älter als 30 Tage sind. Am einfachsten lässt es sich wohl mit der Powershell realisieren.

Im groben funktioniert mein Script auch, bis zum spannenden Teil, dem Löschen.

Könnt ihr mir vieleicht sagen, an welcher Stelel es hier hakt ?

$DatumVor30Tagen = (Get-Date).AddDays(-30)
$Source = "\\HEUITDC002\Si_Web$\*"

$Files = Get-ChildItem $Source -Exclude *.db,*.tar -recurse | Where-Object {$_.LastWriteTime -lt $DatumVor30Tagen} | Sort-Object LastWriteTime -descending | Out-File c:\deleted_files.txt

$Files | ForEach {Remove-Item -recursive}


Mitglied: Karo
09.07.2012 um 14:15 Uhr
Hoi,

.... i gucke ma doh
http://ss64.com/nt/syntax-delolder.html

Ciao

Karo
Bitte warten ..
Mitglied: shannra666
09.07.2012 um 14:30 Uhr
Hallo,

danke für deine Antwort. Leider hilft es mir nicht weiter. Denn ich sehe trotzdem den Fehler bei mir nicht.

Auch wenn ich Remove-Item direkt anhänge wird keine Datei gelöscht.

Die Dateien bekommt er, denn diese stehen richtig in der erstellten Textdatei.

Habt ihr noch andere Vorschläge ?
Bitte warten ..
Mitglied: Karo
09.07.2012 um 16:03 Uhr
Hi,

vielleicht solltest Du mal das '\*' bei der Var $Source rauslassen.
Folgendes Script habe ich mal aus meinem Sammelsorium rausgesucht. Das geht:

01.
$DatumVor30Tagen = (Get-Date).AddDays(-30) 
02.
$Source = "D:\_TEST_"  
03.
start-transcript "$Source $(get-date -format MMddyyHHmmss).txt" 
04.
get-childitem "$Source " -recurse | where {$_.lastwritetime -lt $DatumVor30Tagen -and -not $_.psiscontainer} |% {remove-item $_.fullname -force -verbose}
Zeile Drei: nur so zum Loggen, kannst Du weglassen
Wenn Du in Zeile 4 -whatif hinter -verbose hängst, dann läuft er 'trocken' durch ohne zu löschen. Gut für Tests, aber das weißt Du wahrscheinlich.


bye
Karo
Bitte warten ..
Mitglied: shannra666
09.07.2012 um 16:43 Uhr
Hallo,

danke schonmal werde ich gleich testen.
Bitte warten ..
Mitglied: shannra666
09.07.2012 um 17:14 Uhr
Hallo nochmal,

danke hat alles funktioniert. Das Problem ist, dass ich die Daten bereits verarbeitet hatte mit Output-File.

Er hatte einfach nichts mehr zu löschen und $_.fullname hat mir noch gefehlt.
Naja dann muss ich halt vorab einmal die Datenaufbereiten zur Übergabe an die Textdatei und danach dann mit einer eigenen Anweisung löschen.

Vielen Dank für deine Hilfe.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Powershell ältere Dateien löschen (6)

Frage von Cougar77 zum Thema Batch & Shell ...

Entwicklung
Versteckte .(Punkt)Dateien löschen (3)

Frage von DarkJM zum Thema Entwicklung ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...