@echo off rem -- dummy scenario always returns OK setlocal enabledelayedexpansion rem put argument to array stored in argVec set argCount=0 for %%x in (%*) do ( set /A argCount+=1 set "argVec[!argCount!]=%%~x" ) echo Number of processed arguments: %argCount% rem foreach argVec (skip first) to copy files and add new file extension for /L %%i in (2,1,%argCount%) do copy /y "!argVec[%%i]!" "!argVec[%%i]!!argVec[1]!" exit 0