Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Allgemein


Alles zum Thema Windows Clients für den Desktop: Windows 95 / 98 / NT / 2000 / XP / Vista / Win 7 — Q & A zu den Windows Client Versionen sowie Windows Media Center / Windows Home Server


Antwort
     
Themen-Optionen
Alt 22.12.2008, 15:50   #1
Senior Member
 
Benutzerbild von BloodySword
 
Offline
Registriert seit: 03-2006
Beiträge: 325
Frage Per Batch dateien löschen, die älter sind als x Tage/Monate

Hallo,

ich möchte gerne per BATCH und möglichst mit Bordmitteln und ohne VBS/JS Dateien löschen, die älter sind als das angegebene Datum oder Zeitspanne.

Dazu habe ich folgenden Thread gefunden:
http://www.mcseboard.de/windows-foru...en-109911.html

Leider hilft mir das nicht wirklich weiter.

Ich lasse Backups erstellen in Form von RAR-Dateien.
Wenn die existierenden älter sind als 2 Monate sollen sie gelöscht werden, um Speicherplatz zu sparen.

Danke im Vorraus!
    Mit Zitat antworten
Alt 22.12.2008, 16:08   #2
Junior Member
 
Offline
Registriert seit: 11-2002
Beiträge: 67
Hallo BloodSword

Schau dir mal das Tool Robocopy von Microsoft an. Das kann genau das was Du machen willst.


Racer
    Mit Zitat antworten
Alt 22.12.2008, 16:11   #3
Super Moderator
 
Benutzerbild von GuentherH
 
Offline
Registriert seit: 02-2004
Ort: Graz (Styria)
Beiträge: 17.925
Hallo.

Schau dir mal das Tool Robocopy von Microsoft an
... und hier ein Beispiel dazu - : www.SBSPraxis.de, Automatisches Bereinigen der LOG Verzeichnisse auf einem SBS 2003 Server :

LG Günther

Signatur
MVP Windows Server [Small Business Server]

    Mit Zitat antworten
Alt 22.12.2008, 16:25   #4
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

... und falls es doch was mit Skript sein darf:
faq-o-matic.net Alte Dateien löschen

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 22.12.2008, 16:56   #5
Senior Member
 
Benutzerbild von BloodySword
 
Offline
Registriert seit: 03-2006
Beiträge: 325
Da gefällt mir dann doch die Variante von NilsK besser, da ich dann keine extra .exe brauche.

Code:
Option Explicit
Dim intZahl      '
Dim strExtension      '
Dim intTage           '
Dim objDatei          '
Dim objFSO            '
Dim objOrdner         '
Dim strOrdner         '

Set objFSO = CreateObject("Scripting.FileSystemObject")
strOrdner = command$
strExtension = "exe"
intTage = 56

Set objOrdner = objFSO.GetFolder(strOrdner)
intZahl = 0
For Each objDatei In objOrdner.Files
    If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension) _
        And DateDiff("d", objDatei.DateLastModified, Now) > intTage Then
        objDatei.Delete
        WScript.Echo "Lösche " & objDatei.name
        intZahl = intZahl + 1
   End If
Next
So richtig?
    Mit Zitat antworten
Alt 22.12.2008, 17:02   #6
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

Zitat von BloodySword Beitrag anzeigen
strOrdner = command$
[...]
So richtig?
nö. strOrdner sollte schon den absoluten Pfad enthalten und muss darüber hinaus den Wert in Anführungsstrichen haben (siehe die Vorlage). Sonst sollte es laufen.

Ach so, und du solltest es mit cscript aufrufen, sonst wirst du ziemlich viele Boxen wegklicken müssen.

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 22.12.2008, 17:09   #7
Senior Member
 
Benutzerbild von BloodySword
 
Offline
Registriert seit: 03-2006
Beiträge: 325
Klar lasse ich es mit cscript...

Hab's nun raus. Es sollte nämlich alles per Script-Argumente einlesen:

Code:
Option Explicit
Dim intZahl
Dim strExtension
Dim intTage
Dim objDatei
Dim objFSO
Dim objOrdner
Dim strOrdner

Set objFSO = CreateObject("Scripting.FileSystemObject")
strOrdner = Wscript.Arguments(0)
strExtension = Wscript.Arguments(1)
intTage = Wscript.Arguments(2)

Set objOrdner = objFSO.GetFolder(strOrdner)
intZahl = 0
For Each objDatei In objOrdner.Files
    If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension) _
        And DateDiff("d", objDatei.DateLastModified, Now) > intTage Then
        objDatei.Delete
        WScript.Echo "Lösche " & objDatei.name
        intZahl = intZahl + 1
   End If
Next
WScript.Echo intZahl & " Dateien gelöscht."
    Mit Zitat antworten
Alt 23.12.2008, 11:21   #8
Member
 
Offline
Registriert seit: 04-2004
Beiträge: 224
hi;

ich kann dof empfehlen.
Ist gang einfach zu konfigurieren...

Link

Gruß
Michael

Signatur
„Wenn Gott gewollt hätte, dass Frauen Bowlen, hätte er ihnen die Brüste auf den Rücken gemacht!“ (Al Bundy)

    Mit Zitat antworten
Alt 23.12.2008, 12:30   #9
Senior Member
 
Benutzerbild von BloodySword
 
Offline
Registriert seit: 03-2006
Beiträge: 325
Das Tool ist auch interessant. Werde ich mir auch mal ansehen ^^.
    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dateien die älter als 10 Tage sind auto löschen haecker Windows Forum — Allgemein 3 14.10.2009 12:00
Mails in einem Postfach löschen welche älter als x Tage sind Kabelbruch Windows Server Forum 3 06.02.2009 09:52
Per VBScript sämtliche Dateien die älter sind als 3 Wochen löschen Brooklyn Windows Server Forum 3 05.01.2006 14:31
Batch Job um bestimme Dateien die älter als 5 Tage sind zu löschen jojo0411 Windows Forum — Allgemein 7 01.03.2005 15:38


Alle Zeitangaben in MEZ/CET. Es ist jetzt 07:18 Uhr. Seite generiert in 0,037 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang