Расщепить путь и взять последнее имя папки в пакетном script

Я хочу разбить строку (имеющую путь) с помощью \ и взять последнее имя папки в переменной. Пожалуйста, помогите.

например
mypath = D:\FOLDER1\folder2\folder3\

Я хочу FOLDER3 в переменной.

Я попытался выполнить команду ниже, которая работает, если последний символ не \:

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

Он не работает, если последний символ \

Также он не работает, если используется переменная типа: для% f in (% mypath%) установить myfolder =% ~ nxf

Ответ 1

@echo off

set MYDIR=C:\FOLDER1\FOLDER2\FOLDER3\
set MYDIR1=%MYDIR:~0,-1%

for %%f in (%MYDIR1%) do set myfolder=%%~nxf
echo %myfolder%

выходы

FOLDER3

Ответ 2

попробовать:

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

работает также:

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