Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
xiloid
0 / 0 / 0
Регистрация: 02.05.2015
Сообщений: 5
1

Переименование и архивация файлов по части имени

13.07.2018, 22:43. Просмотров 760. Ответов 2
Метки нет (Все метки)

Здравствуйте! Помогите со следующей задачей.
Есть папка в которой находятся множество файлов с различными расширениями (в основном JPG, PNG, TIFF). Имя файлов состоит из серии и названия разделенными нижним подчеркиванием, например 1234567_декларация1.*. Как правило к этому файлу есть еще один (или два) с такой же серией, но с другим названием, например 1234567_декларация2.*.
Необходимо все файлы заархивировать по сериям.
На данный момент удалось только создать скрипт, который обрезает имя файла по серии, НО запихивает в этот архив остальные файлы в папке, что есть неправильно:
Windows Batch file
1
2
3
4
5
6
@echo off
 
for %%A IN (*.*) DO (
for /f "tokens=1* delims=_" %%B in ("%%~nA") do ("%ProgramFiles%\7-Zip\7z.exe" a -tzip "%%~B%.zip")
)
pause
Помогите продолжить изыскания
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2018, 22:43
Ответы с готовыми решениями:

Переименование файлов с удалением части имени
Добрый день! Понимаю, что задача простая, но сходу я не смог её осилить... :mda: Вот что в...

Переименование файлов по имени папок, в которых они находятся
Доброго времени суток. Не программист, сам бат-ники писать их не умею, знаю только, что с их...

Переименование файлов по имени папок, в которых они находятся
Доброго времени суток. Не программист, сам бат-ники писать их не умею, знаю только, что с их...

Сортировка файлов по части имени
День добрый! Список файлов в папке: 5555-001-123.txt 5555-005-121.txt 5555-007-153.txt...

Копирование файлов по части имени
Всем привет! В папке лежат файлы с названиями: ...

2
alpap
1918 / 1411 / 467
Регистрация: 26.04.2015
Сообщений: 4,812
13.07.2018, 23:21 2
Лучший ответ Сообщение было отмечено xiloid как решение

Решение

Цитата Сообщение от xiloid Посмотреть сообщение
Помогите продолжить изыскания
на затравку:
Windows Batch file
1
2
3
4
5
6
7
@echo on
set "d=C:\papka"
 
pushd "%d%"
 for /f "tokens=1* delims=_" %%a in ('dir /a-d/b') do echo помещаем файл "%%a_%%b" в архив "%%a"
popd
pause
Добавлено через 6 минут
если это
Цитата Сообщение от alpap Посмотреть сообщение
... echo помещаем файл "%%a_%%b" в архив "%%a"
вызывает трудности,
Windows Batch file
1
... 7z a "%%a.7z" "%%a_%%b"
и если файлы надо удалить после архивирования, то дописать в конце строки
Windows Batch file
1
... -sdel
2
xiloid
0 / 0 / 0
Регистрация: 02.05.2015
Сообщений: 5
13.07.2018, 23:28  [ТС] 3
alpap - Спасибо за ответ, не удается понять, как применить вашу конструкцию и почему необходимо постоянно выходить/заходить в папку?

Извиняюсь, все заработало, спасибо дорогой товарищ alpap!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2018, 23:28

Перемещение файлов с поиском по части имени перемещаемого файла
Добрый день всем умельцам написания скриптов. ) Есть задачка которая реализуется с помощью рук,...

Найти папки по части имени и создать список находящихся в них файлов
Здравствуйте! Я новичок, сам не смог разобраться. Помогите , пожалуйста! На разных дисках есть...

Как реализовать распределение файлов по папкам исходя из части имени файла?
Доброго времени суток, друзья! Есть папка в папке 200 - 300 файлов (И такие буду приходить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru