Почему бы просто не использовать "SET filter =% *" для удаления начальных и конечных пробелов?
@ECHO Off
SET source= 1 2 3 4 5
ECHO Source string = "%source%"
CALL :SpaceCut %source%
ECHO Beginning and ending spaces removed = "%filter%"
pause
exit /b
:SpaceCut
SET filter=%*
exit /b