scan parameter loop for files batch windows for-loop batch-file cmd folder

windows - parameter - for/r batch



dividir ruta y tomar el Ășltimo nombre de la carpeta en secuencia de comandos por lotes (2)

Quiero dividir la cadena (tener una ruta) con / y tomar el último nombre de la carpeta en una variable. Por favor ayuda.

p.ej
mypath = D: / FOLDER1 / FOLDER2 / FOLDER3 /

Quiero FOLDER3 en una variable.

Intenté con el siguiente comando, que funciona si el último carácter no es / :

for %f in (C:/FOLDER1/FOLDER2/FOLDER3) do set myfolder=%~nxf

No funciona si el último caracter es /

Tampoco funciona si se usa variable como: para% f in (% mypath%) do set myfolder =% ~ nxf


tratar:

for %f in (C:/FOLDER1/FOLDER2/FOLDER3/.) do set myfolder=%~nxf

funciona también:

for %f in (C:/FOLDER1/FOLDER2/FOLDER3.) do set myfolder=%~nxf


@echo off set MYDIR=C:/FOLDER1/FOLDER2/FOLDER3/ set MYDIR1=%MYDIR:~0,-1% for %%f in (%MYDIR1%) do set myfolder=%%~nxf echo %myfolder%

salidas

FOLDER3