Top-Themen

Aktuelle Themen (A bis Z)

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

Dateien erst nach Abgleich mit Archiv löschen

Mitglied: 43344

43344 (Level 1)

25.03.2008, aktualisiert 18.10.2012, 2989 Aufrufe, 5 Kommentare

Tach zusammen,

ich habe folgendes geniale Teil:
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
Set WSHShell = WScript.CreateObject("WScript.Shell") 
03.
On Error Resume Next 
04.
 
05.
'* hier eigenen Bedürfnissen anpassen * 
06.
 
07.
strOrdnerliste = "D:\Sicherung\Ordnerliste.txt" 
08.
strAusschlussliste = "D:\Sicherung\Ausschluss.txt" 
09.
 
10.
Set objOrdnerliste = fso.OpenTextFile(strOrdnerliste, 1) 
11.
Verzeichnis = Split(objOrdnerliste.ReadAll, vbCrLF) 
12.
objOrdnerliste.Close 
13.
 
14.
Set objAusschlussliste = fso.OpenTextFile(strAusschlussliste, 1) 
15.
If Not objAusschlussliste.AtEndOfStream Then 'falls nicht schon am Dateiende (= Datei ist leer) ... 
16.
	Exclude = objAusschlussliste.ReadLine ' ... erste Zeile lesen und speichern ... 
17.
Else 
18.
	Exclude = "" '... ansonsten gibt es keine Ausnahmen beim Löschen. 
19.
End If 
20.
 
21.
objAusschlussliste.Close 
22.
 
23.
Aufheben = 1 'Anzahl der Tage 
24.
 
25.
' * Ende der Anpassungen * 
26.
 
27.
Heute = Date() 
28.
For n = 0 To UBound(Verzeichnis)  
29.
	Set Ordner = fso.GetFolder(Verzeichnis(n)) 
30.
	DeleteInFolder(Ordner) 
31.
Next 
32.
 
33.
Sub DeleteInFolder(Ordner) 
34.
Set Dateien = Ordner.Files 
35.
' Alle Dateien in diesem Ordner abklappern 
36.
For Each Datei In Dateien 
37.
	If Datei.DateLastModified < (Heute - Aufheben) Then 
38.
		Ext = Mid(Datei.Name, InStrRev(Datei.Name, ".")) 
39.
		If InStr(Exclude, Ext) = 0 Then 
40.
			On Error Resume Next 
41.
			Datei.Delete 
42.
			If Err And Err <> 70 Then MsgBox "Unerwarteter Fehler (Code=" & Err & ")", vbCritical: WScript.Quit 
43.
			On Error Goto 0 
44.
		End If 
45.
	End If 
46.
Next 
47.
 
48.
'Unterordner abklappern, DeleteInFolder rekursiv aufrufen 
49.
For Each Unter In Ordner.SubFolders 
50.
	DeleteInFolder(Unter) 
51.
	If (Unter.SubFolders.Count + Unter.Files.Count) = 0 Then Unter.Delete 
52.
Next 
53.
End Sub
hier: https://www.administrator.de/forum/alte-dateien-nach-x-tagen-l%c3%b6sche ... gefunden.


Kann man dem Tool noch erklären, dass es die alten Dateien ERST GENAU DANN löschen darf, wenn diese Dateien an einem anderen Ort (Archiv) vorhanden sind ????


Grueße vom Dorf ...
[Edit Biber] Als <code> formatiert. [/Edit]
Mitglied: bastla
25.03.2008, aktualisiert 18.10.2012
Hallo Stylewalker!

Kann man dem Tool noch erklären, dass es die alten Dateien ERST GENAU DANN löschen darf, wenn diese Dateien an einem anderen Ort (Archiv) vorhanden sind ?
Wenn Du dem Tool (oder wenigstens mir) sagen kannst, wo (gleiche Ordnerstruktur?) / wie (nur Namensgleichheit oder zB auch gleiches Änderungsdatum?) im "Archiv" nach der jeweiligen Datei zu suchen ist ...

Abgesehen davon würde sich dafür aber vielleicht eine "Verschiebe"-Lösung (in einem der öfter hier im Forum vorkommenden Beiträge zum Thema "alte Dateien" oder "alte Ordner" - wie etwa "Robocopy - Alte Ordner verschieben" - solltest Du fündig werden) eher anbieten.

Grüße
bastla
Bitte warten ..
Mitglied: 43344
26.03.2008 um 07:06 Uhr
Morgen bastla,

zur Geschichte:

Im Moment zieh ich mit Robocopy die Dateien, die älter sind als xx Tage aus dem zu durchsuchenden Verzeichnis raus, überprüfe mit einem "if exist", ob die Datei im Archiv (auf einer zweiten Festplatte, in gleicher Ordnerstruktur) existiert, bevor diese gelöscht wird. Da die reine Überprüfung, ob die Datei "halt da" ist nicht so prall ist, wäre darüberhinaus eine Überprüfung auf z.B. gleiche Dateigröße/gleiches Änderungsdatum quzasi ideal

Gruß

Style
Bitte warten ..
Mitglied: bastla
26.03.2008 um 15:36 Uhr
Hallo Stylewalker!

... überprüfe mit einem "if exist" ...
"fc /b" wäre noch genauer als der Vergleich hinsichtlich Größe / Datum ...

Grüße
bastla
Bitte warten ..
Mitglied: 43344
31.03.2008 um 06:19 Uhr
Hast natürlich recht, funktioniert .... aber nur mal interessehalber: wie würde das mit VB aussehen???
Bitte warten ..
Mitglied: bastla
31.03.2008 um 07:46 Uhr
Hallo Stylewalker!

Da VBS keinen zu "fc" vergleichbaren Befehl kennt, könntest Du, wie oben schon angemerkt, Dateidatum und zB auch -größe vergleichen ("File.DateLastModified", "File.Size")oder trotzdem "fc" verwenden (ungetestete Skizze):
01.
If Not fc("D:\Datei1.doc", "E:\Datei1.doc") Then 
02.
	'Dateien sind unterschiedlich ... 
03.
End If 
04.
 
05.
Function fc(File1, File2) 
06.
Set objShell = CreateObject("WScript.Shell") 
07.
Set objExec = objShell.Exec("fc /b " & Chr(34) & File1 & Chr(34) & " " & Chr(34) & File2 & Chr(34)) 
08.
strResults = LCase(objExec.StdOut.ReadAll) 
09.
If InStr(strResults, "fc: keine unterschiede gefunden") Then 
10.
	fc = True 
11.
Else 
12.
	fc = False 
13.
End If 
14.
End Function
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Dateitypen aus Archiven löschen via Batch!

Frage von Nightowl71Batch & Shell5 Kommentare

hallo meine freunde! ich möchte bestimmte dateitypen vll an hand einer *.txt aus archiven via batch löschen! was ich ...

Batch & Shell

Per Batch erste Zeile aus CSV Dateien löschen

gelöst Frage von sirOneBatch & Shell15 Kommentare

Hallo zusammen! Ich suche ein Batch Script, mit dem ich aus sämtlichen CSV Dateien in einem Unterordner die erste ...

Batch & Shell

In allen Unterordnern nach .pst-Dateien gepackt in .zip-Archiven durchsuchen und löschen

Frage von evinbenBatch & Shell3 Kommentare

Die Dateien der Windows Sicherungen sind viel zu groß und diejenige, welche nicht mehr benötigt werden, muss ich aus ...

Outlook & Mail

Outlook - Exchange - Archiv-Postfach - Ordner löschen

gelöst Frage von emeriksOutlook & Mail1 Kommentar

Hi, habe hier einen "Jäger und Sammler", der in seinem Exchange Postfach sogut wie alles aufhebt. Den Posteingang hat ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++27 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...