вариант
El Sanchez, натолкнул меня на немного извращенный алгоритм, к тому же решающий немного другую задачу, совпадающую с исходной только при изначально пустых или отсутствующих папках 001, 002,...
Код:

@Echo Off
SetLocal EnableDelayedExpansion
Set $list=list.txt
Set $from=C:\TEST1
Set $dest=C:\TEST2
Set $F=%$from%& For /F "Tokens=1* Delims=[]" %%i In ('^<"%$list%" Find /N /V ""') Do (
Set $D=00%%i& Set $D=%$dest%\!$D:~-3!& Set /A $S=!$B!+1& Set $B=%%j
Call:MOVE& Set $F=!$D!)
Set $D=%$from%& Set /A $S=%$B%+1& Call:MOVE& Exit /B
:MOVE
If Not Exist "%$D%" MD "%$D%"
For /F "Skip=%$S% Delims=" %%a In ('Echo.^& DIR /B/A-D/OD/TC "%$F%"') Do Move "%$F%\%%a" "%$D%"
Exit /B
сначала ВСЕ файлы переносятся в 001, потом из неё все кроме 3-х в 002, потом все кроме 10 в 003 и т.д. на последнем шаге все "лишние" возвращаются в исходную папку...
