for /f "tokens=*" %%a in ('dir /b "%path%"') do call :movefile "%path%\%%a"
to this
for /f "tokens=*" %%a in ('dir /b/s "%path%"') do call :movefile "%path%\%%a"
That would start at the specified directory and traverse all sub-directories.
Edit: Lovely batch file though!
Edited by Ztruker, 08 February 2008 - 08:00 PM.