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

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

Старожил


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

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


Код: Выделить весь код
@echo off
SetLocal EnableExtensions
SetLocal EnableDelayedExpansion

set Lst=D:\spisok.txt
set Src=D:\data1\
set Dst=D:\data2\

for /f "UseBackQ Delims=" %%S in ("%Lst%") do (
call :prc %%S 
for /f "Delims=" %%D in ('dir /b /s /on /ad %%S') do call :prc %%D
)
exit

:prc
set D=%1
set D=!D:%Src%=!
md %Dst%!D! 2>nul
move "%1\*.*" "%Dst%!D!\" 2>nul
if not %ErrorLevel%==0 echo "%1\*.*" =^> "%Dst%!D!\">>%~pdn0.err
exit /b
PS: ошибки отрабатываются только примерно, будет спотыкаться даже на пустых каталогах, см *.ERR

-------
Как сказало Дерево Дровосеку: "я - пень".

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

Отправлено: 13:44, 26-02-2010 | #2