PVIT 10 Geschrieben 19. September 2012 Melden Teilen Geschrieben 19. September 2012 Moin, mein erster Beitrag hier im Forum - daher erst einmal ein herzliches Hallo! Mein Anliegen: Ich brauche ein Tool oder PS Skript, welches mir auf einem Ordner Dateien bzw. Ordnerstrukturen ausliest und in eine Datei schreibt, die eine vorher definierte Pfadlänge überschreiten. Hintergrund: Einige User haben die NTFS Verzeichnistiefe gesprengt und es kommt nun zu Problemen (Verschieben von Dateien ist da noch das Kleinste). Also, super wäre, wenn ich festlegen könnte: Alle Pfade/Dateien mit 250+ Zeichen mit komplettem Pfad in eine Datei schreiben. Dann würde ich den jeweiligen Abteilungsleitern die Liste in die Hand drücken und die müssen dann die Datei und Ordnernamen anpassen, um wieder ins Soll zu kommen. Kennt jemand solch ein Tool oder Skript? Danke schon mal für Eure Hilfe! Beste Grüße PVIT Zitieren Link zu diesem Kommentar
Dukel 457 Geschrieben 19. September 2012 Melden Teilen Geschrieben 19. September 2012 Wo hängst du denn bei deinem Script? Pfadtiefe bekommst du z.B. mit (...split('\')).count heraus. Komplette Länge mit ...fullname.length. Zitieren Link zu diesem Kommentar
PVIT 10 Geschrieben 20. September 2012 Autor Melden Teilen Geschrieben 20. September 2012 Moin, dieses Skript habe ich irgendwo ausgegraben, es bricht aber entweder mit einem Fehler in Zeile 54, also dieser Variable ab "oLog.WriteLine Right(" " & CStr(Len(sPath)), 3) & " " & sPath"ab oder in Zeile 44 "Fehler der Pfad wurde nicht gefunden" bei dieser Varibale "For Each SubFolder In Folder.SubFolders". Irgendeine Idee? Danke und Gruß PVIT ' ListLongPaths.vbs Const sSTARTPATH = "H:\" Const iLONG = 250 Const LOGFILEPATH = "H:\" 'Speicherort der Logdatei, falls nicht auf dem Desktop gespeichert werden soll Set WShell = WScript.CreateObject("WScript.Shell") sLogFilePath = WShell.SpecialFolders("Desktop") '############ 'sLogFilePath = LOGFILEPATH 'Um den oben festgelegten Speicherort zu verwenden, das Kommentarzeichen am Anfang der Zeile entfernen '############ If Right(sLogFilePath, 1) <> "\" Then sLogFilePath = sLogFilePath & "\" sLogFile = sLogFilePath & "LongPaths.txt" Set fso = CreateObject("Scripting.FilesystemObject") If WScript.Arguments.Count > 0 Then sStart = WScript.Arguments(0) Else sStart = sSTARTPATH End If If Not fso.FolderExists(sStart) Then WScript.Echo "Ordner " & sStart & " nicht gefunden!" WScript.Quit End If bFound = False Set oLog = fso.OpenTextFile(sLogFile, 2, True) DoFolders fso.GetFolder(sStart) oLog.Close If bFound Then R = MsgBox("Es wurde mindestens ein Pfad mit einer Länge > " & _ iLONG & " gefunden und in" & vbCrLF & _ """" & sLogFile & """ gespeichert." & vbCrLF & vbCrLF & _ "Soll die Logdatei jetzt geöffnet werden?", vbYesNo) If R = vbYes Then WShell.Run "notepad " & sLogFile Else MsgBox "Es wurden keine Pfade mit einer Länge > " & iLONG & " gefunden." End If Sub DoFolders(Folder) For Each SubFolder In Folder.SubFolders DoFolders SubFolder If Len(SubFolder.Path) > iLONG Then List(SubFolder.Path & "\") For Each File In SubFolder.Files If Len(File.Path) > iLONG Then List(File.Path) Next Next End Sub Sub List(sPath) oLog.WriteLine Right(" " & CStr(Len(sPath)), 3) & " " & sPath bFound = True End Sub Zitieren Link zu diesem Kommentar
PVIT 10 Geschrieben 20. September 2012 Autor Melden Teilen Geschrieben 20. September 2012 (bearbeitet) Doppelpost.... bearbeitet 20. September 2012 von PVIT Doppelpost Zitieren Link zu diesem Kommentar
Gulp 265 Geschrieben 20. September 2012 Melden Teilen Geschrieben 20. September 2012 Wenn man solch tief verschachtelten Ordner löschen muss, das aber mit Bordmitteln nicht kann hilft folgendes Tool ganz gut: Deep Remove Folders Directories in Windows Grüsse Gulp Zitieren Link zu diesem Kommentar
PVIT 10 Geschrieben 20. September 2012 Autor Melden Teilen Geschrieben 20. September 2012 Wenn man solch tief verschachtelten Ordner löschen muss, das aber mit Bordmitteln nicht kann hilft folgendes Tool ganz gut: Deep Remove Folders Directories in Windows Grüsse Gulp Ok, danke: Zum Löschen eine gute Sache - werde ich ausprobieren! Was jetzt noch fehlt ist ein Tool zum Auslesen, um die Dateien zu finden, die die Pfadtiefe sprengen und sie umzubenennen, so dass es wieder passt. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.