
14634
05.10.2010, aktualisiert um 12:32:01 Uhr
LöschVBS mit ausnahme möglich?
Hallo, ich möchte alle Ordner im Verzeichnis c:\Documents and Settings löschen die über 30 Tage nicht mehr benutzt worden sind.
Dazu habe ich folgendes VBS Script::
ich will aber auch das der Ordner Administrator und All Usern nicht gelöscht werden, dazu brauche ich eine ausnahmegenehmigung.
Leider weiß ich nicht wie ich diese am besten in das Script implemtiere.
Kann hier jemand helfen?
Dazu habe ich folgendes VBS Script::
Set myArguments = WScript.Arguments
If myArguments.Count <> 2 Then
call DisplayInfo
Wscript.Quit (1)
End if
Dim heute, olddate
heute = FormatDateTime(Date, 2)
olddate = DateAdd("d","-" & myArguments(1), heute)
set objFS = CreateObject("Scripting.FilesystemObject")
set myFolder = objFS.GetFolder(myArguments(0))
set mySubfolders = myFolder.Subfolders
for each subfolder in mySubfolders
If subfolder.DateCreated < olddate then
subfolder.Delete
If instr(Pfad,"Administator") then flag=1
end if
next
Sub DisplayInfo
MsgBox "Usage: deleteoldfolders.vbs [FolderPath] [Anzahl Tage]", vbExclamation, "Missing Arguments"
End Sub
Leider weiß ich nicht wie ich diese am besten in das Script implemtiere.
Kann hier jemand helfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 152383
Url: https://administrator.de/forum/loeschvbs-mit-ausnahme-moeglich-152383.html
Ausgedruckt am: 20.04.2025 um 21:04 Uhr
5 Kommentare
Neuester Kommentar
Hi,
...ja einfach den Namen des Ordner vor dem Löschen noch prüfen...
(siehe Zeile 17)Gruß
Bernd
...ja einfach den Namen des Ordner vor dem Löschen noch prüfen...
(siehe Zeile 17)
Set myArguments = WScript.Arguments
If myArguments.Count <> 2 Then
call DisplayInfo
Wscript.Quit (1)
End if
Dim heute, olddate
heute = FormatDateTime(Date, 2)
olddate = DateAdd("d","-" & myArguments(1), heute)
set objFS = CreateObject("Scripting.FilesystemObject")
set myFolder = objFS.GetFolder(myArguments(0))
set mySubfolders = myFolder.Subfolders
for each subfolder in mySubfolders
If (subfolder.DateCreated < olddate) And Not (subfolder.Name = "All Users" OR subfolder.Name = "Administrator") then
subfolder.Delete
next
Sub DisplayInfo
MsgBox "Usage: deleteoldfolders.vbs [FolderPath] [Anzahl Tage]", vbExclamation, "Missing Arguments"
End Sub
Bernd
... oder etwas flexibler (aber ungetestet):
Grüße
bastla
Set myArguments = WScript.Arguments
Exceptions = "#All Users#Administrator#whoever#AndSoOn#"
If myArguments.Count <> 2 Then
call DisplayInfo
Wscript.Quit (1)
End if
Dim heute, olddate
heute = FormatDateTime(Date, 2)
olddate = DateAdd("d","-" & myArguments(1), heute)
set objFS = CreateObject("Scripting.FilesystemObject")
set myFolder = objFS.GetFolder(myArguments(0))
set mySubfolders = myFolder.Subfolders
for each subfolder in mySubfolders
If (subfolder.DateCreated < olddate) Then If InStr(1, Exceptions, "#" & subfolder.Name & "#", vbTextCompare) = 0 Then subfolder.Delete
next
Sub DisplayInfo
MsgBox "Usage: deleteoldfolders.vbs [FolderPath] [Anzahl Tage]", vbExclamation, "Missing Arguments"
End Sub
bastla

Moin,
die Frage kommt ja hin & wieder des öfteren vor und immer wieder gibts dann schlauberger, die darauf hinweisen, dass "Profile" etwas mehr sind, als die Daten, die unter dem betreffenden Username Ordner liegen und das der symphatische Marktführer aus Redmont eigens für diese Problematik ein Werkzeug gezimmert hat.
Dann bin ich heute mal wieder der Großvater....
Gruß
die Frage kommt ja hin & wieder des öfteren vor und immer wieder gibts dann schlauberger, die darauf hinweisen, dass "Profile" etwas mehr sind, als die Daten, die unter dem betreffenden Username Ordner liegen und das der symphatische Marktführer aus Redmont eigens für diese Problematik ein Werkzeug gezimmert hat.
Dann bin ich heute mal wieder der Großvater....
ich will aber auch das der Ordner Administrator und All Usern
und warum ist das default Profile in dem Gedankengang unter die Räder gekommen?Gruß