Batch Pfad splitten

Rooky420

Cadet 4th Year
Registriert
Nov. 2015
Beiträge
98
Hallo,

vorweg ich kenne mich mit batch fast nicht aus.
Ich habe eine Variable in der der Pfad zu einer Datei steht. Daraus soll 3 Variablen entstehen:

- Eine Variable mit dem Ordnerpfad der Datei
- Eine Variable nur mit dem Dateinamen
- Eine Variable nur mit der Dateiendung

Der Pfad der der batch datei übergeben wird ist aber variabel deshalb kann ich nicht an festen Positionen teistrings rausschneiden.

Hier ein Beispiel:
Code:
rem FILEPATH ist in dem Beispiel mal "C:\Windows\explorer.exe"
set FILEPATH=%1

rem irgendein code

rem FOLDERPATH ist "C:\Windows"
set FOLDERPATH

rem FILE ist "explorer"
set FILE

rem ENDING ist ".exe"
set ENDING

Könnt ihr mir hierbei helfen?

LG
 
Ja leider muss es Batch sein und ich finde immernoch keine Seiten bei den ich verstehe wie ich das Problem lößen soll :(
 
Hallo,
du kannst auch mit einer for /f Schleife Zeichen trennen.
Code:
@echo off
for /f "delims=\ tokens=1,2,3*" %%i in ("C:\Windows\explorer.exe") do (
    echo erste Stelle %%i
    echo zweite Stelle %%j
    echo dritte Stelle %%k
)
REM delims= definiert das Zeichen wo getrennt werden soll
REM tokens= definiert die Stelle/n
pause
mfg
 
@Entilzha Aber das ist doch vollkommen unnötig, da es doch direkt eingebaute Funktionen dafür gibt. Außerdem klappt deine Lösung nicht bei variablen Verzeichnistiefen.
Ganz einfach wie von Yuuri verlinkt
Code:
@echo off
rem FILEPATH ist in dem Beispiel mal "C:\Windows\explorer.exe"
set FILEPATH=%1

rem irgendein code

rem FOLDERPATH ist "C:\Windows"
set "FOLDERPATH=%~d1%~p1"

rem FILE ist "explorer"
set "FILE=%~x1"

rem ENDING ist ".exe"
set "ENDING=%~n1"

echo %FOLDERPATH%
echo %FILE%
echo %ENDING%
 
Zurück
Oben