Loop over folder string and parse out last folder name

You were pretty close to it :) This should work:

@echo OFF
set mydir="%~p0"
SET mydir=%mydir:\=;%

for /F "tokens=* delims=;" %%i IN (%mydir%) DO call :LAST_FOLDER %%i
goto :EOF

:LAST_FOLDER
if "%1"=="" (
    @echo %LAST%
    goto :EOF
)

set LAST=%1
SHIFT

goto :LAST_FOLDER

For some reason the for command doesn't like '\' as a delimiter, so I converted all '\' to ';' first (SET mydir=%mydir:\=;%)


After struggling with some of these suggestions, I found an successfully used the following 1 liner (in windows 2008)

for %%a in (!FullPath!) do set LastFolder=%%~nxa