|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование отдной структуры каталогов в другую |
|
CMD/BAT - [решено] Копирование отдной структуры каталогов в другую
|
Новый участник Сообщения: 5 |
Профиль | Отправить PM | Цитировать Подскажите структуру батника
Исходные данные: каталоги с файлами Папка 1 Папка 11 Папка 111 Папка 112 Папка 12 Папка 121 Папка 122 Внутри папок XXX лежат файлы типа 01-01-01.csv (дата-месяц-год) - ВАЖНО -> внутри каждой папки имена файлов одинаковы. Нужно: перенести эти файлы в структуру каталогов типа 0000-01 (год-месяц) Папка 1 Папка 11 Папка 111 Папка 112 Папка 12 Папка 121 Папка 122 0000-02 Папка 1 Папка 11 Папка 111 Папка 112 Папка 12 Папка 121 Папка 122 где в папках XXX будут лежать файлы только за конкретный месяц. |
|
Отправлено: 13:48, 30-05-2012 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать @Echo Off Set From=D:\Папка с данными Set To=D:\Папка с отсортированными данными FOR %%D IN ("Папка 1" "Папка 11" "Папка 111" "Папка 112" "Папка 12" "Папка 121" "Папка 122") DO ( FOR /F "usebackq delims=" %%F IN (`Dir /B /A:-D "%From%\%%~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%\%~1\" Md "%To%\20%God%-%Mes%\%~1\" If Exist "%From%\%~1\%~2" Move /Y "%From%\%~1\??-%Mes%-%God%.csv" "%To%\20%God%-%Mes%\%~1\" >Nul |
------- Последний раз редактировалось megaloman, 30-05-2012 в 22:23. Отправлено: 22:14, 30-05-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Спасибо, счас буду пробовать.
|
Отправлено: 07:47, 31-05-2012 | #3 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать megaloman
К сожалению моих знаний явно не хватает и я не все правильно объяснил. Папка 1 Папка 11 Папка 111 Папка 112 Папка 12 Папка 111 - это структура вложенности папокПапка 112 наименование Папка 11 и Папка 12 разные Внутри 11 и 12 всегда 2 папки с одинаковыми именами и уже внутри них файлы. Я попытался подделать код под себя, но не срослось))). Вернул все как было у Вас @Echo Off Set From=D:\2\mat\k Set To=D:\2\test FOR %%D IN ("zhd" "1t" "2t") DO ( FOR /F "usebackq delims=" %%F IN (`Dir /B /A:-D "%From%\%%~D\??-??-??.csv"`) DO Call :FDir %%D "%%F") ) GoTo :Eof :FDir Set Name=%~2 Set God=%Name:~6,2% Set Mes=%Name:~3,2% If Not Exist "%To%\20%God%-%Mes%\%~1\" Md "%To%\20%God%-%Mes%\%~1\" If Exist "%From%\%~1\%~2" Move /Y "%From%\%~1\??-%Mes%-%God%.csv" "%To%\20%God%-%Mes%\%~1\" >Nul Выдает следующее D:\2\mat>2.bat Файл не найден Не удается найти указанный файл. Не удается найти указанный файл. На картинке структура папок и файлы |
Отправлено: 09:24, 31-05-2012 | #4 |
Ветеран Сообщения: 2728
|
Профиль | Отправить 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 |
|
------- Отправлено: 16:36, 31-05-2012 | #5 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Спасибо, завтра с утра отчитаюсь.
|
Отправлено: 16:58, 31-05-2012 | #6 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Все супер.
Большое спасибо. |
Отправлено: 13:23, 01-06-2012 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Копирование только самых новых файлов в папках с сохранением структуры папок | hoh | Скриптовые языки администрирования Windows | 3 | 03-01-2012 10:22 | |
CMD/BAT - [решено] Копирование дерева каталогов | Ksenya | Скриптовые языки администрирования Windows | 7 | 27-03-2011 23:20 | |
CMD/BAT - [решено] Конвертирование файлов с сохранением структуры каталогов | Sarge81 | Скриптовые языки администрирования Windows | 3 | 17-09-2010 07:12 | |
CMD/BAT - [решено] как осуществить копирование по маске с сохранением структуры папок | seriych | Скриптовые языки администрирования Windows | 3 | 29-05-2010 17:10 | |
Бэкап структуры каталогов с правами доступа | AlexKKK | Microsoft Windows NT/2000/2003 | 10 | 23-05-2006 22:21 |
|