encontrar la ruta de la carpeta actual - cmd

Utilizo este script para encontrar la carpeta actual con su archivo .bat:

for /f %%i in ("%0") do set curpath=%%~dpi 
echo  %curpath% 

no funciona correctamente, si la ruta contiene espacios (D: \ Scripts \ All Scripts -> recupera solo D: \ Scripts \, si coloco en la carpeta, cuya ruta no tiene espacios, recupera la ruta completa) . ¿Cómo puedo arreglarlo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta