How to Pass Command Line Parameters with space in Batch File
what you can do is
>batch.bat "ab cd.txt"
When the parameters contain whitespace, you can enclose them in quotes.
you can use %~1 instead of %1
e.g a test.bat with :
echo %~1
then a call to test "abc de"
will display :
abc de