Get filename with different format

Examples:

  • dpn: D:\path\to\name\filename
  • pn: \path\to\name\filename
  • n: \path\to\name
  • n: filename
SETLOCAL enabledelayedexpansion
SET MYFILENAME="D:\path\to\name\filename.ext"
call:FilenameFormat ret %MYFILENAME% dpn
ECHO !ret!
REM Result D:\path\to\name\filename
 
:FilenameFormat
SETLOCAL
IF "%~1"=="" GOTO:EOF
FOR %%i IN ("%~2") DO SET r=%%~%~3i
( ENDLOCAL
    SET "%~1=%r%"
)
GOTO:EOF

TAGS : Tutorial DOS function filename format split SET SETLOCAL enabledelayedexpansion