Имя пользователя:
Пароль:
 

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

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off

Set From=D:\Папка 1 с данными
Set To=D:\Папка с отсортированными данными

FOR /F "usebackq delims=" %%D IN (`Dir /B /A:D /S "%From%\"`) DO (
    FOR /F "usebackq delims=" %%F IN (`Dir /B /A:-D "%%D\??-??-??.csv"`) DO Call :FDir "%%D\" "%%F"
    Rd "%From%\%%~D" >nul 1>Nul 2>Nul 
)

GoTo :Eof

:FDir

Set Name=%~2
Set God=%Name:~6,2%
Set Mes=%Name:~3,2%

If Not Exist "%To%\20%God%-%Mes%\%~p1\" Md "%To%\20%God%-%Mes%\%~p1\"
If Exist "%~1%~2" Move /Y "%~1%~2" "%To%\20%God%-%Mes%\%~p1" >Nul
Папка To не должна быть вложена в From. Пустые папки низшей вложенности удаляются, если есть RD после For.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:36, 31-05-2012 | #5