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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] перемещение каталогов по списку

Ответить
Настройки темы
CMD/BAT - [решено] перемещение каталогов по списку

Новый участник


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

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


здравствуйте. очень хотелось бы батник который делал следущее

перемещал каталоги (со всеми файлами, что внутри), которые записаны в тхт документе, в другую папку
к примеру информация находится в D:\spisok.txt, а каталоги в D:\data1\ чтоб переместило в D:\data2\

помогите пожалуйста...я в этом деле полный профан

Отправлено: 11:25, 26-02-2010

 

Старожил


Сообщения: 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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


NiOl, большое вам спасибо, что не обошли стороной
но вот в чем проблема, не переносятся каталоги с файлами, а просто создаются пустые каталоги со списка (которые есть в каталоге дата1)

Отправлено: 20:57, 26-02-2010 | #3


Новый участник


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

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


спасибо еще раз.разобрался и немного переделал...так как создавало пустые фолдеры в дата 2 ии оставляло пустые фолдеры в дата1
а также убрал отчет об ошибках...
еще раз спасибо. без вас не зделал бы

@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
for /d %%i in ("%Src%*") do rd /q "%%i" 2>nul
for /d %%i in ("%Dst%*") do rd /q "%%i" 2>nul
exit /b

Последний раз редактировалось neprotiv, 02-03-2010 в 09:40.

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

Отправлено: 01:30, 27-02-2010 | #4


Новый участник


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

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


а можно ли както использовать несколько списков одновременно с разными путями назначаения, но с одинаковым источником в одном батнике? и как написать?

например

set Lst1=D:\spisok1.txt
set Lst2=D:\spisok2.txt

set Src=D:\unsorted\

set Dst1=D:\data1\
set Dst2=D:\data2\

тоисть по списку1 шло в дата1
по списку2 шло в дата2

спасибо

Последний раз редактировалось neprotiv, 02-03-2010 в 10:03.


Отправлено: 09:39, 02-03-2010 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] перемещение каталогов по списку

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Замена файлов по списку Endy1 Программирование в *nix 9 15-02-2010 13:50
CMD/BAT - Синхронизация каталогов Makzs Скриптовые языки администрирования Windows 4 03-11-2009 15:56
синхронизация каталогов Saduga Microsoft Windows NT/2000/2003 4 20-08-2008 16:07
Перемещение по списку в Excel Evita Хочу все знать 3 16-03-2006 01:13
[решено] Перемещение разрешений общих каталогов при миграция домена SuperBoss Microsoft Windows NT/2000/2003 6 17-09-2003 06:32




 
Переход