@echo off setlocal enabledelayedexpansion set argv=0 set "output=" for %%x in (%*) do ( Set /A argv+=1 if "!output!" == "" ( Set "output=%%~x" ) else ( Set "output=!output! %%~x" ) ) @echo Raw '%*' @echo Arguments: '%output%' @echo The total number of arguments are: %argv%