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

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

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

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


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

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


Изображения
Тип файла: jpg DirScreen.jpg
(95.5 Kb, 9 просмотров)
Здравствуйте!

Есть Папка "Контрагенты" в ней 517 папок по имени. В каждой из них 12 папок:
1) 11 шаблонных папок с городами, в каждой еще некоторая структура (не более 3 уровней)
2) папка 2015 (не пустая)

необходимо переместить в каждом контрагенте все файлы *.* из 1) в корень папки 2015 (2). Только файлы! После перемещения удалить папки 1) (со всей структурой)

Прошу помощи. Нужен пакетник (cmd, bat)

Отправлено: 20:32, 31-03-2015

 

Аватара для Elven

Ветеран


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

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


приблизительно так
Код: Выделить весь код
for /F %%d in ('dir /B /AD') do (
if not 2015==%%~nd (
for /F %%f in ('dir /B /A-D %%d') do (
copy %%f 2015\*.*)
))
!Внимание! не проверял как оно работает, возможно что никак, с телефона писал, проверить негде.
Это сообщение посчитали полезным следующие участники:

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



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

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


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


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

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


Elven
Спасибо!

Получилось следующее решение

Код: Выделить весь код
@echo off
 
:: путь папки.
set "folder=T:\ТОРГОВЫЙ ДОМ \ОБОСОБЛЕННЫЕ ПОДРАЗДЕЛЕНИЯ\! КОНТРАГЕНТЫ"
 
pushd "%folder%"
for /d %%i in (*) do (
 pushd "%%i"
 for /d %%j in (*) do if "%%j" neq "2015" (
  for /f "delims=" %%k in ('2^>nul dir/a-d/b/s "%%j"') do (
   move/y "%%k" "2015"
  )
  rd/q/s "%%j"
 )
 popd
)
popd
 
exit/b
правда файлы с одинаковым именем перезаписывает, но потеря пары файлов не критично для моего случая
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:59, 02-04-2015 | #3


Ветеран


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

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


Цитата Maikl_relax:
правда файлы с одинаковым именем перезаписывает »
Maikl_relax, об этом никто из просящих почему-то не задумывается — до факта. А исполняющим уже наосто… надоело раз за разом, раз за разом, раз за разом спрашивать, как следует поступать, если имена файлов совпадут.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:12, 02-04-2015 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - перемещение файлов NibelungXXX Скриптовые языки администрирования Windows 3 04-12-2013 06:21
VBS/WSH/JS - [решено] VBS-перемещение файлов. AlexVert Скриптовые языки администрирования Windows 2 25-01-2013 12:24
CMD/BAT - перемещение файлов titik Скриптовые языки администрирования Windows 0 03-08-2012 15:46
CMD/BAT - Перемещение файлов с переименованием Unm Скриптовые языки администрирования Windows 1 15-10-2011 12:20
CMD/BAT - [решено] Создание папок по дате получения файлов и перемещение в них файлов KamikadZZe Скриптовые языки администрирования Windows 1 01-09-2011 14:15




 
Переход