Wenas....
Creo que ésto te puede ayudar:
1er. Fichero: lista.bat
@echo off
cls
if %1//==// goto ayuda1
if %2//==// goto ayuda1
echo Moviendo los ficheros de %1 recibidos a %2
echo.
echo Espere, por favor.
echo.
rem Si no quieres perder los cambios anteriores debes poner dos símbolos '>' en vez de uno, sólo en la línea siguiente.
echo Movidos los siguientes ficheros: > ficheros_movidos.txt
echo - Ficheros Doc: >> ficheros_movidos.txt
echo >> ficheros_movidos.txt
for %%I in (%1\*.doc) do
@listar1.bat %%I %2
echo.
echo.
echo Proceso Realizado.
goto fin
:ayuda1
echo MOVEDOR DE FICHEROS v1.0
echo.
echo Uso:
echo %0 [camino_origen] [camino_destino]
echo.
:fin
2o. Fichero: lista1.bat
@echo off
if %1//==// goto fin
if %2//==// goto fin
echo -Moviendo %1 a %2 >> ficheros_movidos.txt
move %1 %2 >> ficheros_movidos.txt
echo >> ficheros_movidos.txt
:fin
Lo que hago con el primero es mediante la sentencia "for" (es algo más potente en la simulación "dos" de XP) es obtener cada uno de los ficheros de la carpeta [%1] (se le pasa como parámetro) con la extensión indicada. Una vez que tengo el nombre, llamo al segundo bat que es el que mueve el fichero a la carpeta [%2] (se le pasa al fichero bat primero y éste se lo pasa al segundo).
Las salidas y algunos comentarios explivativos los "desvío" mediante el ">" a un fichero llamado "ficheros_movidos.txt", que es generado nuevo por cada llamad al primer bat. El doble ">>" es para añadir a lo ya escrito.
Espero que te sirva de ayuda. Obviamente estos ficheros son sólo orientativos y como ejemplos.
Si tienes alguna duda ya sabes, a "postear" por aquí.
Saludos
PD: Creo que será este mi post más grande.... ¡¡¡ Vaya parrafada que he soltado !!!