|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Сортировка файлов в каталоге с подкаталогами |
|
CMD/BAT - Сортировка файлов в каталоге с подкаталогами
|
Новый участник Сообщения: 11 |
Профиль | Отправить PM | Цитировать
Прошу помощи! У меня есть каталог ( папка ) с подкаталогами ( папками ). В каталоге есть файлы скажем .txt .doc .pdf
Мне нужно отсортировать их по расширению и распределить в отдельном каталоге с подкаталогами названия которых соответствуют расширению. Cортировку выполнить копированием. При этом чтобы после сортировки в файле .txt указывалась дата\время последних изменений В том что я написал происходит следующее - файлы сортируются только из основного каталога, а из подкаталогов не затрагиваются, и каждый раз перезаписывает файл с временем\датой последних изменений. @echo off setlocal enabledelayedexpansion xcopy *.txt sort\txt DIR > sort\txt.txt xcopy *.doc sort\doc DIR > sort\doc.txt pause |
|
Отправлено: 19:37, 26-10-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать ChevConnor, начните с описания того, что должен делать алгоритм, когда в разных подкаталогах ему встретятся одноимённые файлы.
Цитата ChevConnor:
Цитата ChevConnor:
|
||
Отправлено: 20:02, 26-10-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать У меня есть папка, в ней файлы и папки (формата .txt .pdf .doc). Мне нужен сценарий, способный рассортировать файлы (и те что во вложенных каталогах) по расширению, в отдельном каталоге (папке) с подкаталогами, соответствующие расширению. Ну и чтобы после выполнения сценария создавался файл-отчет.txt c датой\временем последних изменений.
По тому "сценарию" (его подобию скорее) у меня сортируются файлы в каталоге в котором находится батник, а подкаталоги не затрагиваются. Дату\время последних изменений записывает в отдельном файле, это вроде получилось. |
Отправлено: 20:12, 26-10-2018 | #3 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата ChevConnor:
Цитата ChevConnor:
Цитата ChevConnor:
а вообще не судьба открыть справку: dir /? и почитать как ею пользоваться? |
|||
Отправлено: 20:31, 26-10-2018 | #4 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Понимал бы я как с подкаталогов скопировать файлы, я бы не создавал тему, проблема в этом у меня заключается
|
|
Отправлено: 20:35, 26-10-2018 | #5 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:38, 26-10-2018 | #6 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Увы, 2й день сижу, я в этом деле, не как вы, а новичок можно сказать, плоховато у меня с написанием, вот и решил попросить помощи у знающих людей, а советов, кроме как банально открыть dir /? как то и нету, одни подколы
|
Отправлено: 20:42, 26-10-2018 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать ChevConnor, Вы не ответили на вопрос: что должен делать алгоритм, когда ему в разных каталогах встретятся одноимённые файлы? Например, в каталоге …\Моя папка\Моя новая папка ему встретился файл Мой любимый файл.doc, он его скопировал/переместил в каталог …\Моя любимая папка для сортировки\DOC под тем же именем Мой любимый файл.doc. Затем он встречает в каталоге …\Моя папка\Моя новая папка 2 файл с ровно тем же именем — Мой любимый файл.doc. Что должен сделать алгоритм?
Цитата ChevConnor:
Ваша проблема в том, что Вы не можете сами для себя точно сформулировать задачу. |
|
Отправлено: 20:45, 26-10-2018 | #8 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Cоздать копию думаю. Просто файлов много и там названия неповторяющиеся (Pm1024zm.txt Pm1025zm.txt и т.д) не задумывался над этим
|
Отправлено: 20:50, 26-10-2018 | #9 |
Ветеран Сообщения: 2723
|
Профиль | Отправить PM | Цитировать Еcли расширения известны.
C сохранением структуры папок+создаются файлы ^^^^^^.log в каждой выходной папке по расширению @Echo Off Set "BoxIn=D:\Мой контент\Книги" Set "BoxOut=Z:\Box_Out\Книги" Set "Ext=fb2 epub txt pdf txt" For %%e IN (%Ext%) DO ( Md "%BoxOut%.%%e" 2>nul >"%BoxOut%.%%e\^^^^^^.log" (For /F "usebackq delims=" %%i IN (`Xcopy /Y /S "%BoxIn%\*.%%e" "%BoxOut%.%%e\"`) DO ( If Exist "%%i" Echo %%~ti "%%i" )) ) GoTo :Eof Еcли расширения известны.
Без сохранениея структуры папок+создаются файлы ^^^^^^.log в каждой выходной папке по расширению @Echo Off Set "BoxIn=D:\Мой контент\Книги" Set "BoxOut=Z:\Box_Out\Книги" Set "Ext=fb2 epub txt pdf txt" For %%e IN (%Ext%) DO ( Md "%BoxOut%.%%e" 2>nul >"%BoxOut%.%%e\^^^^^^.log" (For /F "usebackq delims=" %%i IN (`Xcopy /L /S "%BoxIn%\*.%%e" "%Tmp%\"`) DO ( If Exist "%%i" (Copy "%%i" "%BoxOut%.%%e\" >nul &Echo %%~ti "%%i") )) ) GoTo :Eof |
------- Последний раз редактировалось megaloman, 26-10-2018 в 21:14. Отправлено: 20:54, 26-10-2018 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] получение списка имён файлов без имен папок (с подкаталогами) | shadowbat | Скриптовые языки администрирования Windows | 6 | 20-12-2015 19:29 | |
Любой язык - [решено] Архивирование файлов в каталоге | Tonny_Bennet | Скриптовые языки администрирования Windows | 53 | 11-01-2015 13:11 | |
CMD/BAT - Переименование файлов в каталоге | flower | Скриптовые языки администрирования Windows | 2 | 28-11-2013 15:00 | |
VBS/WSH/JS - Мониторинг файлов в каталоге | ugol_divana | Скриптовые языки администрирования Windows | 1 | 03-08-2013 17:15 | |
Любой язык - [решено] Распределение файлов в каталоге | Тишина | Скриптовые языки администрирования Windows | 2 | 26-04-2013 17:09 |
|