setlocal if "%~1"=="" (set dir=.) else (set dir="%~1") if "%~2"=="" (set command=echo) else (set command=%~2) if "%~3"=="" (set mask=*) else (set mask=%~3) for /r %dir% %%f in (%mask%) do %command% %%~dpnxf
Ou simplesmente:
C:\>for /r . %f in (*) do @echo %~dpnxf