Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


вариант 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 и т.д. на последнем шаге все "лишние" возвращаются в исходную папку...
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:40, 22-08-2010 | #5