• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

[CMD] Bat файл для поиска по дате в имени и сохранения файлов

SOulfly13

Новый пользователь
Сообщения
4
Симпатии
0
#1
Доброго времени суток форучне :)
Вопросик есть такой.
Собственно нужно растолковать кое в чем!
Батничег берет и создает папки картинок и сортирует их по дате в одну папку : Например 23.04.16 ->123.jpg
Мне надо чтобы он сортировал не по дате, собственно а по имени папки и заливал файлы в одну папку.
МГ000000001_24.05.2016 т.е. все файлы сортировал не по дате а по имени.

Прилагаю код

@Echo OFF&Chcp 866>Nul

Set $SCR="C:\Users\Machine\Desktop\pf\*.jpg*"
for %%a in (%$SCR%) do (for /f "tokens=1" %%b in ("%%~ta") do MD "%%~dpa%%~b" 2>Nul&Move "%%a" "%%~dpa%%~b")
pause


И еще, почему именно по имени файлы есть созданные 16 числа а дата 15 поэтому именно по имени списка файлов

Зарание благодарен расталковавшему :)
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,508
Симпатии
5,337
#2
Здравствуйте!

Ничего не понятно, что вам нужно.
Лучше пример расположения файлов покажите, как должно в итоге получиться.

P.S. Учитесь ставить запятые.
 

SOulfly13

Новый пользователь
Сообщения
4
Симпатии
0
#3
Должно получиться вот так






1. Имя файла выборка по имени (даты ) файла. Н
2. Папка которая уже создалась, и содержит перемещенные файлы.
МГ-00003308_28.12.2016_АА1692ОМ_АА2300ХО_Камера 1_20161228140553_ch01
МГ-00003315_29.12.2016_АА1606ОМ_АА2628ХО_Камера 1_20161229162424_ch01
И собственно создание папки 28.12.2016 и перемещении файла в эту папку.

Выше скрипт делает нужные операции, но данные берет по дате,а мне нужно по дате в имени.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,508
Симпатии
5,337
#4
Выше скрипт делает нужные операции, но данные берет по дате,а мне нужно по дате в имени.
Понятно.
Пробуйте:

CMD/BATCH:
@Echo OFF&Chcp 866>Nul

Set $SCR="C:\Users\Machine\Desktop\pf\*.jpg*"
for %%a in (%$SCR%) do (for /f "tokens=2 delims=_" %%b in ("%%a") do MD "%%~dpa%%~b" 2>Nul&Move "%%a" "%%~dpa%%~b")
pause
 

SOulfly13

Новый пользователь
Сообщения
4
Симпатии
0
#5
Спасибо, все оказывается так просто! :)
А чтобы папка создавалась т.е. год месяц и список файлов


Пример 2016 ->12> 28,29,30,31 сами файлы можно так допилить?
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,508
Симпатии
5,337
#6
Попробуйте:
CMD/BATCH:
@Echo OFF&Chcp 866>Nul

Set $SCR="C:\Users\Machine\Desktop\pf\*.jpg*"
for %%a in (%$SCR%) do for /f "tokens=2 delims=_" %%b in ("%%a") do for /f "tokens=2-3 delims=." %%c in ("%%b") do MD "%%~dpa%%d\%%c" 2>Nul&Move "%%a" "%%~dpa%%d\%%c"
pause