Br0di 0 Geschrieben 9. Januar 2013 Melden Geschrieben 9. Januar 2013 Hallo liebes Forum, folgende Problematik: Durch zulange Ordnerbezeichnungen bzw. Dateien kommt es bei der Datensicherung öfters zu Problemen, diese schließt dann unvollstänig ab. Nun wollte ich ein Skript entwickeln, welches mir diese langen Ordnernamen angibt. Folgenden Code habe ich bisher: On Error Resume Next Set WshShell = WScript.CreateObject("WScript.Shell") Set objFSO = CreateObject("Scripting.FileSystemObject") Set csvdat = objFSO.CreateTextFile("C:\Ordnerlaenge.csv") FoldRec "C:\" Sub FoldRec(Startfolder) Set objFold = objFSO.GetFolder(Startfolder) Set colSubfold = objFolder.Subfolders For Each objSubfold In colSubfold FoldRec(objSubfold) Next For Each file In objFolder.Files writecsv= file & ";" & Len(file) csvdat.WriteLine writecsv Next End Sub Das Funktioniert auch, jedoch nicht rekursiv für alle Ordner. Der erste Ordner wird durchlaufen, damit endet das Skript. Habt ihr eine Idee wie ich das Rekursiv gestallten könnte? Ich habe bereits mein Fachbuch durchblättert und Foren durchforstet, jedoch komme ich mit meinen Ansätzen nicht weiter. Ich erbitte um Hilfe! - Vielen dank! Liebe Grüße Br0di
Cybquest 36 Geschrieben 9. Januar 2013 Melden Geschrieben 9. Januar 2013 Dein Objekt, auf das Du dich im Script weiter unten jeweils beziehst, heisst objFolder. Setzen tust Du aber ein objFold! Set objFold = objFSO.GetFolder(Startfolder) Set colSubfold = objFolder.Subfolders Daher liefert ...Subfolders nix und daher funktioniert auch die Rekursion, die ja schon drin ist, nicht.
Br0di 0 Geschrieben 9. Januar 2013 Autor Melden Geschrieben 9. Januar 2013 Danke für deine Antwort! Ah peinlicher Fehler, das hatte ich auch schon ausgebessert - aber vergessen das hier nachzutragen :o Ich starte das skript, angezeigt in der CSV werden mir trotzdem nur 1 Ordner der untersucht wurde. Der Rest der C: Partition bleibt "unberührt"... Habe ich da noch etwas vergessen? etwa einen "Rücksprung" zum Startfolder?
Cybquest 36 Geschrieben 9. Januar 2013 Melden Geschrieben 9. Januar 2013 Habs grad ausprobiert. Bei mir gehts (mit "objFolder" durchgängig ;)). Hast auf C:\ evtl. nicht genug Rechte (bzw. dem Ordner, den Du da testest) ? Ggf. mal das "On Error..." auskommentieren. Evtl. läuft er ja auf nen Fehler.
Br0di 0 Geschrieben 10. Januar 2013 Autor Melden Geschrieben 10. Januar 2013 Komischerweiße läuft er durch, nach dem 2ten Ordner den das Script durchläuft endet es einfach... Circa 1700 Zeilen. Hast du eventuell noch eine Idee? Ich beisse hier auf Granit...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden