21.10.2010

Basename, Filename, Dirname in Batch

Umm, batch scripts sucks, but here goes:

set filepath="C:\\some path\\having spaces.txt"  
  
for /F "delims=" %%i in (%filepath%) do set dirname="%%~dpi"   
for /F "delims=" %%i in (%filepath%) do set filename="%%~nxi"  
for /F "delims=" %%i in (%filepath%) do set basename="%%~ni"  
  
echo %dirname%  
echo %filename%  
echo %basename%  

I have awed this for crap many times before, now I have it here for the future.

← Back to blog