Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Zu lange Pfade und Dateien ausgeben

Frage Entwicklung Batch & Shell

Mitglied: hushpuppies

hushpuppies (Level 1) - Jetzt verbinden

25.04.2013 um 10:53 Uhr, 3195 Aufrufe, 2 Kommentare

Hallo beisammen,

ich kämpfe gerade mit einem kleinen Problem.
In einer unserer Außenstellen gibt es eine "gewachsene" Verzeichnisstruktur, die stellenweise sehr tief verschachtelt ist und auch ungewöhnlich lange Ordner-Namen beinhaltet.
Beim Wiederstellen einer Datei aus einer Sicherung habe ich festgestellt, dass dabei offenbar an manchen Stellen die 255-Zeichen Grenze überschritten wird und man daher ziemliche Probleme mit dem Zugriff auf diese Datei hat.

Ich bräuchte nun ein Script, welches rekursiv durch das Laufwerk wandert und mir den Pfad und die maximale Zeichenlänge des tiefsten Pfades z.B. in eine CSV ausgibt, damit ich die möglichen Problem-Ordner aussortieren und ggf. umbenennen kann.

Also quasi bei

Z:\blaqlbla\blalalfblal\blalblbala\hamptidampti\doofes_pdf.pdf eben den kompletten Pfad und die Zeichenlänge (also 49 in dem Fall)

Geht sowas überhaupt?
Hat sowas vielleicht einer schon mal gebraucht ?
Mitglied: Endoro
25.04.2013, aktualisiert um 17:05 Uhr
Hallo hushpuppies,

dieses Skript ist nicht das schnellste, wirft aber alle Pfadlängen vollständig aus. Ich hab's allerdings nicht an überlangen Pfaden getestet, das packt die Forschleife vielleicht nicht mehr.
01.
@echo off&setlocal  
02.
for /r %%i in (*) do ( 
03.
	for /f "delims=:" %%i in ('^(echo("%%~i"^&echo(^)^|findstr /o $') do set /a len=%%i-5 
04.
	setlocal enabledelayedexpansion 
05.
	echo !len! %%~i 
06.
	endlocal 
07.
)
Vielleicht hat ja jemand noch eine schnellere Lösung.

Gruss!


€dit: etwas mehr speed mit delayed expansion.
Bitte warten ..
Mitglied: hushpuppies
25.04.2013 um 18:25 Uhr
Vielen Dank!
Das ist schon sehr gut!
Sehr elegant und präzise


Ich habe nachdem ich den Beitrag gepostet hatte, über "ähnliche Inhalte" auch noch einen Beitrag gefunden, der mir vorher bei der Suche durch die Lappen gegangen ist.

Da wird das ganze per Batch gelöst:
http://www.administrator.de/wissen/workshop-batch-for-runaways-part-i-b ...

Nachteil bei dem Batch ist, dass Umlaute nicht erkannt werden und daher nicht mitgezählt werden.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Batch & Shell
Leerzeichen im Pfad (4)

Frage von Jallio zum Thema Batch & Shell ...

Batch & Shell
gelöst Bash Nur Zahlen ausgeben regex (11)

Frage von Marabunta zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Erkennung und -Abwehr

Infineon TPMs unsicher! Bitlocker ggf. angreifbar

(4)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Firewall

PfSense Repository für Version 2.3.x

(7)

Information von Dobby zum Thema Firewall ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...