Top-Themen

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

Automatische Zuweisung von Laufwerken bei zu langen Pfadtiefen

Tipp Entwicklung Batch & Shell

Mitglied: pieh-ejdsch

pieh-ejdsch (Level 2) - Jetzt verbinden

31.12.2012, aktualisiert 12.01.2013, 4315 Aufrufe, 2 Danke

Hallo Admins,

manchmal findet sich in den Tiefen eines Laufwerkes allerhand Müll oder doch noch etwas Verwertbares.
Um dorthin zu gelangen muss erstmal danach gesucht werden.
Die zu tiefen Pfade sind in der Fehlerausgabe zB. von Laufwerk D:
dir /s /b D:\..?.. >nul
Dann wäre es gleich von Vorteil, wenn nicht nur eine Auflistung der Daten, sondern auch eine Liste der Zuweisungen vorhanden ist, welche bei Bedarf erhalten Bleibt.

Der Batch listet wahlweise Dateien und/oder Ordner sowie deren Zuweisungen von diesen Untiefen auf.
Eine Hilfe /? ist enthalten.
01.
@echo off 
02.
setlocal 
03.
prompt $g$s 
04.
if "%~1" equ "" echo Syntaxfehler. 1>&2 &exit /b 1 
05.
if "%~1" neq "/?" goto :noHelp 
06.
echo Listet bedenkliche Pfad- und Dateinamen mit Pfadtiefe komplett auf. 
07.
echo wechselt Selbststaendig in tiefere Pfade. 
08.
echo(&echo %~n0 Pfad [/D ^| /-D] [/B] [/P] 
09.
echo %~n0 [/X] 
10.
echo(&echo   /D    Es werden nur Ordnerpfade aufgelistet. 
11.
echo   /-D   Es werden nur Dateien aufgelistet. 
12.
echo   /B    Behalten von erzeugten Laufwerkszuweisungen. 
13.
echo   /P    Alle zuvor Verbundenen Laufwerke ^(subst^) werden entfernt.  
14.
echo   /X    Nur alle Zuweiungen entfernen.&echo( 
15.
exit /b 0 
16.
:noHelp 
17.
if /i "%~1" neq "/X" if not exist "%~1" echo Datei nicht gefunden! 1>&2 & exit /b 2 
18.
set "SubstDel=" 
19.
set "DIRCMD=/a-l" 
20.
set "Dir=1" 
21.
set "DelSubst=" 
22.
for %%i in ( %1 %2 %3 %4) do (if /i "%%~i" equ "/B" set "SubstDel=:: " 
23.
  if /i "%%~i" equ "/D" set "DIRCMD=/a-ld" &set "Dir=1" 
24.
  if /i "%%~i" equ "/-D" set "Dir=" &set "DIRCMD=/a-l" 
25.
  if /i "%%~i" equ "/X" set "DelSubst=exit /b" 
26.
  if /i "%%~i" equ "/P" set "DelSubst=rem" 
27.
28.
 rem alte Zuweisungen entfernen 
29.
if defined delsubst for /f "delims=\" %%i in ('subst') do subst %%i /d 
30.
%delsubst% 
31.
set "SubstList=%~dpn0-Substlist.txt" 
32.
set "RetourePfad=" 
33.
set "inPath=%~d1" 
34.
set "SubstLW=" 
35.
set "FreeDrive= B C D E F G H I J K L M N O P Q R S T U V W X Y Z" 
36.
set /a Min=240 
37.
set "Lastpath=::" 
38.
set "M=%temp%\%~n0temp.tmp" 
39.
type nul>"%SubstList%" 
40.
 
41.
:search Suche nach tieferen Pfaden 
42.
for /f "tokens=2*" %%h in ('^(dir /s /b %1 ^>nul^)^2^>^&1') do if %%h equ Verzeichnisname ( 
43.
  set "F=%%i" 
44.
  setlocal enabledelayedexpansion 
45.
  for /f "delims=" %%a in ("!F:~0,-13!") do (endlocal 
46.
   set "LongPath=%%a" 
47.
   call :Infile %%~di 
48.
   set "Lastpath=%RetourePfad%%%~pi" 
49.
)) 
50.
if not defined SubstLW goto :noLW  
51.
set /a x=%random% 
52.
set "T=%temp%\%~n0-%x%-%random%.txt" 
53.
dir /s /b %1 >"%T%" 2>nul 
54.
 rem suche Verzeichnisse und Dateien ab 
55.
for /f "usebackqtokens=*delims=" %%i in ("%T%") do if exist "%%~i" ( 
56.
   set "Outpath=%inPath%%RetourePfad%%%~pnxi" 
57.
   if defined DIR if exist "%%~i\" call :out " -DIR-" 
58.
   if not exist "%%~i\" call :out " -file" 
59.
60.
)   
61.
del "%T%" 2>nul 
62.
del "%M%" 2>nul 
63.
:noLW 
64.
exit /b 
65.
 
66.
:InFile Zuweisung eines Tieferen Pfades an einen Laufwerksbuchstaben 
67.
setlocal 
68.
set "ToSubst=%~d1" 
69.
set "SubstLW=" 
70.
setlocal enabledelayedexpansion 
71.
for /d %%i in ("!LongPath!.X\..") do (endlocal 
72.
  set "ToSubst=%%~fi" 
73.
  set "RetourePfad=%RetourePfad%%%~pnxi" 
74.
75.
 rem Keine Pfade doppelt absuchen 
76.
 setlocal enabledelayedexpansion 
77.
 if !RetourePfad!\ equ !LastPath! endlocal &goto :noTodo 
78.
for %%i in (%FreeDrive%) do @(vol %%i:|cd>nul)2>&1|find "System">nul&&set "SubstLW=%%i:" 
79.
if not defined SubstLW 1>&2 echo Kein Freies Laufwerk gefunden!& exit /b 3 
80.
subst %SubstLW% "%ToSubst%" 
81.
 rem Pfad aus SubstLW auslesen und zur Liste hinzufuegen 
82.
>>"%SubstList%" echo "Subst_%substLW%=%inPath%%RetourePfad%" 
83.
 
84.
>"%M%" <nul set /p =+--- Virtuelle Verbindungen der Daten ---- 
85.
set "+=+ " 
86.
set "++=. . . . . . . . . . . . . . . . . . . . . . . . . . ." 
87.
call :checksub %SubstLW% >>"%M%" 
88.
>>"%M%" Echo %++% 
89.
>>"%M%" echo( 
90.
goto :next 
91.
:checksub 
92.
for /f "tokens=4*delims=\ " %%A in ('subst^|find "%1\:"') do (echo( 
93.
  echo %1\: %%A\%%B 
94.
  <nul set /p =%+% 
95.
  set "+=%+%+ " 
96.
  set "++=%++:~2%" 
97.
  call :checksub %%A 
98.
99.
exit /b 
100.
:next 
101.
call :search "%substLW%" 
102.
:noTodo 
103.
%substdel%subst /d %SubstLW% 2>nul >&2 
104.
:NotLong 
105.
endlocal 
106.
exit /b 
107.
 
108.
:out Auflistung der Tiefen Dateien 
109.
setlocal enabledelayedexpansion 
110.
if !OutPath:~%min%! equ !! exit /b 
111.
for /l %%i in (%min% 1000 7000) do if !OutPath:~%%i! neq !! set /a mini=%%i 
112.
set /a max=mini+1000 
113.
for /l %%i in (%mini% 100 %max%) do if !OutPath:~%%i! neq !! set /a mini=%%i 
114.
set /a max=mini+100 
115.
for /l %%i in (%mini% 10 %max%) do if !OutPath:~%%i! neq !! set /a mini=%%i 
116.
set /a max=mini+10 
117.
for /l %%i in (%Mini% 1 %max%) do if !OutPath:~%%i! equ !! if not defined L (set L=1 
118.
  if exist "%M%" type "%M%" >&3 &del "%M%" 
119.
  echo %~1  %%i	!Outpath! 
120.
  echo( 
121.
122.
endlocal 
123.
exit /b
Wer andere Fehlerausgaben im Verzeichnisauflister hat, möge sie hier zur Integration posten.
zu lange Pfade; Der Dateiname ist zu lang. Der Verzeichnisname ... ist zu lang. MAX_PATH 256 Zeichen, Pfadtiefe auslesen, lange Pfade finden, Windows Pfad zu lang, Auf lange Pfade zugreifen
Gruß Phil
Ähnliche Inhalte
Backup
Image-restore eines Bitlocker-geschützten Laufwerkes
Tipp von DerWoWussteBackup4 Kommentare

Moin Kollegen. Jeder, der mit Bitlocker zu tun hat, dürfte die Problematik verstehen: spielt man ein Systemimage des gebitlockten ...

Windows 10
DVD-Laufwerk unter Windows 10 verschwunden
Tipp von LochkartenstanzerWindows 1014 Kommentare

Moin, gerade wieder mal eine der Fälle gehabt, wo das DVD-laufwerk "nicht mehr da" ist. Weder im Gerätemanager noch ...

Administrator.de Feedback
Entwicklertagebuch: Der Filter ist tot - lang lebe der Filter
Information von admtechAdministrator.de Feedback

Hallo Administrator Mitglieder, mit dem aktuellen Release haben wir die bunten Filter, die man in fast jeder Übersicht auf ...

DSL, VDSL
Telekom versendet automatische Kündigungen
Erfahrungsbericht von VoiperDSL, VDSL11 Kommentare

Hallo Zusammen, wer aktuell noch mit einem älteren Anlagenanschluss (Business Basic Complete Premium ö.Ä.) unterwegs ist, könnte dieser Tage ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 46 MinutenInternet

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 7 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 18 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 20 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen13 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...