14634
Oct 05, 2010, updated at 10:32:01 (UTC)
2791
5
0
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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 152383
Url: https://administrator.de/contentid/152383
Printed on: April 19, 2024 at 08:04 o'clock
5 Comments
Latest comment
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ß