ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
2320
2320
EMPFEHLEN
-
Hallo Leute!
Meine Stärken liegen im Bereich Grafikbearbeitung und 3D, sicherlich nicht bei VBS und Scripting.
Als "spezielle Sonderaufgabe" meines Chefs für unseren Dateiserver (Win2K3 R2, als Admin) habe ich nun die Löschung eines Verzeichnisses, egal welchen Inhalts (Unterordner, Dtaeien, schreibgeschützte Dateien) auf's Auge gedrückt bekommen.
Ich habe nicht soviel Zeit für die Extrawürste meines Chefs neben meiner normalen Arbeit, deshalb hier meine Frage, wer mir schnell und kompetent ("Mach es so!") helfen kann. Ich kann jetzt nicht einen VBS-Kurs machen, weshalb mir RTFM-Antworten wenig weiter helfen.
Augabenstellung: Jeden Nacht (Task-Planer) um 0.00 Uhr sollen alle Dateien und Ordner, Unterordner und Dateien darin im Stamm-Ordner D:\Allgemeine Ablage\Datentausch und D:\Allgemeine Ablage\Scandokumente ungefragt gelöscht werden. Egal ob mit Schreibschutz oder nicht.
Nachdem ich mit DOS rumgefuhrwerkt habe, bin ich über Google auf ein VBS-Script gestoßen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Option Explicit dim fso, strPfad strPfad = "D:\Allgemeine Ablage\Datentausch" Set fso = CreateObject("Scripting.FileSystemObject") DeleteFiles strPfad fso.DeleteFolder ("D:\Allgemeine Ablage\Datentausch\*") Sub DeleteFiles(strFolder) dim oFolder, oFolders, oFiles, item On Error Resume Next Set oFolder = fso.GetFolder(strFolder) Set oFolders = oFolder.SubFolders Set oFiles = oFolder.Files For each item in oFolders DeleteFiles(item) Next For each item in oFiles ' um Schreibgeschützte Dateien zu löschen, True übergeben fso.DeleteFile item, True Next End Sub
Das klappt soweit, aber sobald ich den zweiten Ordner hinzufüge ...
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Option Explicit dim fso, strPfad strPfad = "D:\Allgemeine Ablage\Datentausch" [COLOR="Red"]strPfad = "D:\Allgemeine Ablage\Scandokumente"[/COLOR] Set fso = CreateObject("Scripting.FileSystemObject") DeleteFiles strPfad fso.DeleteFolder ("D:\Allgemeine Ablage\Datentausch\*") [COLOR="Red"]fso.DeleteFolder ("D:\Allgemeine Ablage\Scandokumente\*")[/COLOR] Sub DeleteFiles(strFolder) dim oFolder, oFolders, oFiles, item On Error Resume Next Set oFolder = fso.GetFolder(strFolder) Set oFolders = oFolder.SubFolders Set oFiles = oFolder.Files For each item in oFolders DeleteFiles(item) Next For each item in oFiles ' um Schreibgeschützte Dateien zu löschen, True übergeben fso.DeleteFile item, True Next End Sub
... werden unter Datentausch keinerlei Datein oder Ordner mehr gelöscht. Sicherlich mache ich da etwas falsch, aber so sehr ich mich diletanisch auch versuche, ich kriege das nicht hin. Für Euch VBS-Experten sicherlich Kleinkram.
Wer kann mir hier weiterhelfen?
Danke vorab für Eure Unterstützung!
SupeGeändert von Supe (03.03.10 um 18:56 Uhr)
www.strickwerk-productions.com (R)
-
Du überscrheibst da den Pfad. Es wird nur der 2te genommen.Code vb:
1 2
strPfad = "D:\Allgemeine Ablage\Datentausch" strPfad = "D:\Allgemeine Ablage\Scandokumente"
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Okay, danke für den Hinweis. Da ich nicht sehr bewandert bin: Wie erreiche ich eine serielle Abarbeitung der Verzeichnisse; der Dateien darin?
Danke für eine Antwort!
Supewww.strickwerk-productions.com (R)
-
Schreib deine Lösung in eine Funktion und rufe sie 2 mal auf....
Code vb:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Option Explicit dim fso, strPfad Set fso = CreateObject("Scripting.FileSystemObject") Call deleteFolder("D:\Allgemeine Ablage\Datentausch") Call deleteFolder("D:\Allgemeine Ablage\Scandokumente") Sub deleteFolder(strFolder) Call DeleteFiles(strFolder) Call fso.DeleteFolder(strFolder & "\*") End Sub Sub DeleteFiles(strFolder) dim oFolder, oFolders, oFiles, item On Error Resume Next Set oFolder = fso.GetFolder(strFolder) Set oFolders = oFolder.SubFolders Set oFiles = oFolder.Files For each item in oFolders DeleteFiles(item) Next For each item in oFiles ' um Schreibgeschützte Dateien zu löschen, True übergeben fso.DeleteFile item, True Next End Sub
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Danke Dir, yaslaw! Das klappt jetzt 1a.
www.strickwerk-productions.com (R)
Ähnliche Themen
-
Ordner und dessen Unterordner löschen
Von EddieG im Forum PHPAntworten: 15Letzter Beitrag: 23.10.09, 00:11 -
Dateien in einem Ordner löschen
Von Ozzy Ozborn im Forum C/C++Antworten: 7Letzter Beitrag: 19.05.08, 19:43 -
Ordner (+ Unterordner) und Dateien kopieren
Von ev0lst im Forum PHPAntworten: 13Letzter Beitrag: 03.09.07, 14:34 -
Dateien u. Unterordner aus Ordner auslesen
Von Blackvirus im Forum C/C++Antworten: 5Letzter Beitrag: 17.01.05, 21:10 -
Ein Ordner mit allen Unterordner + Dateien kopieren
Von zachaeus im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 23.12.04, 16:27





Zitieren

Login





