Site icon Frankys Web

Powershell: Überlange Dateipfade auflisten

Überlange Dateipfade können bei Migrationen und Backup/Restore Prozessen zum Problem werden. Ein Dateipfad darf normalerweise nicht länger als 260 Zeichen sein. Es kommt allerdings vor das diese Grenze überschritten wird. Um solche langen Pfade zu identifizieren lässt sich dieses kleine Powershell Script verwenden:

#Zu prüfendes Verzeichnis oder Volume:
$Verzeichnis = „D:\Freigaben“

#Pfad zur CSV-Datei für den Export:
$CSV = „d:\export.csv“

#Warnstufe für Pfade über XX Zeichen Laenge in CSV schreiben
$Warninglevel = „250“

#———————————————–
„Pfad;Laenge“ | set-content „$CSV“
$dirlist = Get-ChildItem „$Verzeichnis“ -recurse | foreach {$_.Fullname}
foreach ($dir in $dirlist)
{
$a = $dir | Measure-Object  -Character
$length = $a.characters

if ($length -gt $Warninglevel)
{
„$dir;$length“ | add-content „$CSV“
}
}
$sort = import-csv „$CSV“  -delimiter „;“ | Sort-Object -Property Laenge -Descending
„“ | set-content „$CSV“
$sort | export-csv „$CSV“ -delimiter „;“ –NoTypeInformation

Das Script durchsucht ein Verzeichnis oder ein Volume und speichert die zu langen Pfade in einer CSV Datei ab.

Hier noch ein paar Hintergrundinformationen: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

Exit mobile version