barthinator
Goto Top

Batch String kürzen

Moin zusammen,

ich stehe vor einem Problem bei dem ich leider nicht weiterkomme.

Ich habe eine Textdatei in der verschiedene Pfade untereinander geschrieben sind:
P:\2018\18011\15_Studien\20_Plaene_pdf
P:\2019\19008\50_LP_5\50_Kostenplan
P:\2019\19002
P:\2019\19018\10_Grundlagen
Nun möchte ich mit einem Batchskript mir jede Zeile aus der Textdatei vornehmen, um den Pfad links und rechts soweit kürzen, sodass ich nur noch den Teil nach dem zweiten und vor dem dritten Backslash übrig habe:

18011
19008
19002
19018

Diese Zahlen benötige ich für eine Variable mit der ich dann Ordner erstellen kann, um anschließend den Inhalt der Pfade aus der Textdatei in die eben erstellten Ordner kopieren kann.
Hier bin ich soweit mit meinem Skript gekommen:
@echo off & setlocal enabledelayedexpansion
for /f %%i in (C:\Users\%USERNAME%\AppData\Local\Temp\Ordnersync.txt) do (
set pfad=%%i
set %%i=%pfad:~8,-13%
mkdir "C:\Users\%USERNAME%\Documents\Projekte_Lokal\%%i"  
xcopy /T /S /E /C /Y /D %pfad% "C:\Users\%USERNAME%\Documents\Projekte_Lokal\"  
)
pause
Und genau beim String kürzen komme ich anscheinend nicht weiter, weil er kürzt den Pfad nicht und ignoriert die Variable.
Ich hoffe, es war so halbwegs verständlich und jemand kann mir hier etwas auf die Sprünge helfen.

Vielen Dank schon mal im Voraus und allen einen schönen Freitag! face-smile

Content-ID: 517955

Url: https://administrator.de/contentid/517955

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

141965
Lösung 141965 22.11.2019 aktualisiert um 11:26:31 Uhr
Goto Top
Das man sich dafür immer noch in Batch rum hangelt ....naja manche fahren ja heute auch noch mit der Kutsche zur Arbeit face-big-smile
@echo off &setlocal
for /f "usebackq delims=" %%a in ("%LOCALAPPDATA%\Temp\Ordnersync.txt") do (  
    for /f "tokens=3 delims=\\" %%b in ("%%~a") do (  
        mkdir "%USERPROFILE%\Documents\Projekte_Lokal\%%b"  
        xcopy "%%~a" "%USERPROFILE%\Documents\Projekte_Lokal\%%b" /T /S /E /C /Y /D  
    )
)
Barthinator
Barthinator 22.11.2019 um 11:47:17 Uhr
Goto Top
Vielen Dank für deine Hilfe!
Ein paar Sachen muss ich noch anpassen, aber damit hast du mir auf jedenfall weitergeholfen face-smile
Gruß