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