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

Brauche ein script zum löschen von ordner

Frage Entwicklung VB for Applications

Mitglied: MeiSeed

MeiSeed (Level 1) - Jetzt verbinden

26.06.2007, aktualisiert 12:25 Uhr, 3839 Aufrufe, 2 Kommentare

Hi zusammen

ich brauche eure hilfe bei einem script

hier das script
01.
'************************************************************ 
02.
'  
03.
' Löscht alle Dateien, die seit einem bestimmten Datum 
04.
' nicht mehr geändert wurden 
05.
06.
'************************************************************ 
07.
 
08.
Set fso = CreateObject("Scripting.FileSystemObject") 
09.
Set WSHShell = WScript.CreateObject("WScript.Shell") 
10.
On Error Resume Next 
11.
 
12.
 
13.
'******* hier eigenen Bedürfnissen anpassen ***************** 
14.
 
15.
dim Verzeichnis(2) 
16.
Verzeichnis(0) = "C:\Dokumente und Einstellungen\eub\Lokale Einstellungen\Temp" 
17.
Verzeichnis(1) = "C:\Dokumente und Einstellungen\eub\Lokale Einstellungen\Temporary Internet Files" 
18.
Verzeichnis(2) = "C:\Dokumente und Einstellungen\eub\Lokale Einstellungen\Verlauf" 
19.
 
20.
Aufheben    = 14 'Anzahl der Tage 
21.
 
22.
'********Ende der Anpassungen******************************** 
23.
 
24.
 
25.
for n=0 to 2 
26.
	Set ordner = fso.GetFolder(Verzeichnis(n)) 
27.
	heute = Date() 
28.
	DeleteInFolder(ordner) 
29.
next 
30.
 
31.
Sub DeleteInFolder(ordner) 
32.
	Set dateien = ordner.Files 
33.
	' Alle Dateien in diesem Ordner abklappern 
34.
	For Each datei In dateien 
35.
	  If datei.DateLastModified < (heute - Aufheben) Then 
36.
	    on error resume next 
37.
	     datei.delete 
38.
             if err and err<>70 then msgbox "Unerwarteter Fehler (Code="&err&")",16 : wscript.quit 
39.
             on error goto 0 
40.
	  End If 
41.
	Next 
42.
	Set untere = ordner.SubFolders 
43.
	'Unterordner abklappern, DeleteInFolder rekursiv aufrufen 
44.
	For Each unter In untere 
45.
	  DeleteInFolder(unter) 
46.
	Next 
47.
End Sub
mit dem script kann ich die dateien die älter als xy sind aus einem ordner und seinen unterordner löschen
aber die unterorder bleiben dann leer da.
meine frage ist wie kann ich es machen das auch die ordner gelöscht werden die keine dateien mehr haben.
Mitglied: bastla
26.06.2007 um 11:03 Uhr
Hallo MeiSeed und willkommen im Forum!

Du könntest nach dem rekursiven Aufruf von "DeleteInFolder" den Inhalt des eben behandelten Ordners überprüfen.

Anmerkung: Da Du übrigens "untere" anderweitig ohnehin nicht benötigst, wäre auch die direkte Verwendung der "SubFolders"-Aufzählung möglich.

Daraus ergäbe sich etwa folgender Code:
01.
    ... 
02.
    Next 
03.
    'Unterordner abklappern, DeleteInFolder rekursiv aufrufen 
04.
    For Each unter In <b>ordner.SubFolders</b> 
05.
       DeleteInFolder(unter) 
06.
<b>	   If (unter.SubFolders.Count + unter.Files.Count) = 0 Then 
07.
	       unter.Delete 
08.
	   End If</b> 
09.
    Next 
10.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: MeiSeed
26.06.2007 um 12:25 Uhr
Dake für das wilkommen

und danke für die schnelle antwort hat alles prima geklappt

grüße
MeiSeed
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows 7
Netzwerkverbindungsverknüpfung per Script in Ordner

Frage von n0wn23 zum Thema Windows 7 ...

Batch & Shell
gelöst Alle Ordner bis auf die letzten 3 per Batch löschen (5)

Frage von Stefan2733 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (27)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (18)

Frage von MarkusVH zum Thema Windows 10 ...

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (17)

Frage von bogi1102 zum Thema Exchange Server ...