|
Компьютерный форум 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 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Amunrah,
Вот вариант для многократного запуска. Повторное копирование файлов за одну дату/время не происходит
@Echo Off Set "BoxIn=Z:\Box_In\Мой контент\Книги" Set "BoxOut=Z:\Box_Out\Книги" Set "Mask=*.*" rem Set "Mask=*.pdf *.fb2 *. *.epub" Pushd "%BoxIn%" ||(Echo Input folder not found "%BoxIn%" &Pause &Exit /B 2) FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "Now=%%d" Set Now=%Now:~0,14% For /F "usebackq delims=" %%i IN (`2^>nul Dir %Mask% /B /S /A:-D /O:D`) DO (Set "Text=%%~xi." &Call :MySort "%%i" "%BoxOut%\%%Text:~1%%\%%~nxi" %Now%) Popd GoTo :Eof :MySort If Exist %2 If /I "%~t1"=="%~t2" Exit /B 1 If Not Exist "%~dp2" Md "%~dp2" >>"%~dp2\^^_%3.Log" Echo %~t1 %1 >>"%BoxOut%\^^^_All_%3.Log" Echo %~t1 %1 Copy %1 %2 >nul GoTo :Eof При многократном запуске наверное важен обзорный лог - сделал Можно задавать список масок: выбирай хоть избранные файлы, хоть все |
------- Отправлено: 14:50, 29-10-2018 | #31 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать megaloman,
Цитата megaloman:
Мой вариант решает именно то, что озвучил топикстартер, не более. В forfiles к ошибке обычно приводит ключ /c (на некоторых виндах) поэтому вместо него рекомендуют использовать -с. В остальном все замечательно и утилита прекрасно справляется. Поэтому останусь при своем. А ключ /D можно использовать (или не использовать) как в forfiles, так и в xcopy: /D:m-d-y - Копирование файлов, измененных не ранее указанной даты. Если дата не указана, заменяются только конечные файлы, более старые, чем исходные. Скрытый текст
Цитата:
|
||
Последний раз редактировалось Amunrah, 30-10-2018 в 18:05. Отправлено: 16:43, 29-10-2018 | #32 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Спасибо большое ребят. Очень помогли.
|
Отправлено: 18:20, 31-10-2018 | #33 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Цитата ChevConnor:
|
|
------- Отправлено: 14:38, 12-11-2018 | #34 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|