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:
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:
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!
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
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
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!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 517955
Url: https://administrator.de/contentid/517955
Ausgedruckt am: 05.11.2024 um 04:11 Uhr
2 Kommentare
Neuester Kommentar
Das man sich dafür immer noch in Batch rum hangelt ....naja manche fahren ja heute auch noch mit der Kutsche zur Arbeit
@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
)
)