Windows Verzeichnispfad mit Dateiname auf Anzahl Zeichen prüfen
Check Programm gesucht
Hallo
Kennt jemand ein gutes Tool, um Verzeichnispfade und Dateinamen in einem bestimmten Laufwerk auf Anzahl Zeichen zu prüfen?
Ich habe das Problem, dass ich in einer FILER-Verzeichnisstruktur die Offline auf meinem Notebook synchronisiert ist, die max. Anzahl Zeichen 256 im Pfad überschreiten kann. Möchte ich anschliessend am Netz mein Notebook wieder synchronisieren, kommt eine Fehlermeldung die in etwa so lautet: "Offline Datei konnte nicht synchronisiert werden, falscher Parameter".
Ich müsste etwas habe, dass mich überwacht, wenn ich die max. Anzahl Zeichen überschreite oder ein Tool mit dem ich, wenn der Fehler auftritt, meine Verzeichnisse durchsuchen kann und dieses mir dann die verursachende Datei mit Pfad anzeigt.
Hat jemand einen Geheimtipp? Danke!
Gruss
Chrisii
Hallo
Kennt jemand ein gutes Tool, um Verzeichnispfade und Dateinamen in einem bestimmten Laufwerk auf Anzahl Zeichen zu prüfen?
Ich habe das Problem, dass ich in einer FILER-Verzeichnisstruktur die Offline auf meinem Notebook synchronisiert ist, die max. Anzahl Zeichen 256 im Pfad überschreiten kann. Möchte ich anschliessend am Netz mein Notebook wieder synchronisieren, kommt eine Fehlermeldung die in etwa so lautet: "Offline Datei konnte nicht synchronisiert werden, falscher Parameter".
Ich müsste etwas habe, dass mich überwacht, wenn ich die max. Anzahl Zeichen überschreite oder ein Tool mit dem ich, wenn der Fehler auftritt, meine Verzeichnisse durchsuchen kann und dieses mir dann die verursachende Datei mit Pfad anzeigt.
Hat jemand einen Geheimtipp? Danke!
Gruss
Chrisii
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 78572
Url: https://administrator.de/contentid/78572
Ausgedruckt am: 20.11.2024 um 17:11 Uhr
1 Kommentar
Hallo Chrisii!
Zumindest des Findens langer Pfade hat sich Batch for Runaways - Part 1 - Beispiel: FindLongPath.Bat Bedenklich lange Pfade finden) schon einmal angenommen.
Als Alternative dazu könnte ich folgendes VBScript anbieten:
Das Script muss in einer Datei mit dem Typ ".vbs", (zB "ListLongPaths.vbs") gespeichert werden - falls dazu der Windows-Editor verwendet wird, bitte den Dateinamen beim Speichern unter Anführungszeichen setzen, da ansonsten als "ListLongPaths.vbs.txt" gespeichert wird.
Gestartet werden kann per Doppelklick oder per Drag & Drop des zu untersuchenden Laufwerkes / Ordners. In ersterem Fall wird der festgelegte Default-Startpfad verwendet.
Es wird eine Logdatei auf dem Desktop (bzw auf Wunsch in einem anderen Ordner - siehe dazu Kommentar im Script) erstellt, wobei das Vorhandensein von Schreibrechten im Zielordner vorausgesetzt (und nicht überprüft) wird.
Grüße
bastla
Zumindest des Findens langer Pfade hat sich Batch for Runaways - Part 1 - Beispiel: FindLongPath.Bat Bedenklich lange Pfade finden) schon einmal angenommen.
Als Alternative dazu könnte ich folgendes VBScript anbieten:
' ListLongPaths.vbs
Const sSTARTPATH = "D:\"
Const iLONG = 250
Const LOGFILEPATH = "D:\" '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
Gestartet werden kann per Doppelklick oder per Drag & Drop des zu untersuchenden Laufwerkes / Ordners. In ersterem Fall wird der festgelegte Default-Startpfad verwendet.
Es wird eine Logdatei auf dem Desktop (bzw auf Wunsch in einem anderen Ordner - siehe dazu Kommentar im Script) erstellt, wobei das Vorhandensein von Schreibrechten im Zielordner vorausgesetzt (und nicht überprüft) wird.
Grüße
bastla