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