Протестировано: demo.bat
@echo off
echo "Setting cpp"
set cpp="C:\temp\lib.dll"
echo "Calling JustGetPath"
call :JustGetPath %cpp%
echo "Returning result"
echo %_RESULT%
echo "Quitting"
goto :eof
:JustGetPath
echo " +JustGetPath( %1 )"
set _RESULT=%~dp1
echo " -JustGetPath()"
GOTO :eof
:eof
При запуске выдает следующее:
"Setting cpp"
"Calling JustGetPath"
" +JustGetPath( C:\temp\lib.dll )"
" -JustGetPath()"
"Returning result"
C:\temp\
"Quitting"
См. Также: http://ss64.com/nt/call.html