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

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

13.07.2018, 22:43. Просмотров 960. Ответов 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2018, 22:43
Ответы с готовыми решениями:

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

Переименование файлов и архивация
Здравсвуйте. Подскажите кто знает. Как написать это? Только начал изучать java! Может у кого-то...

Переименование файлов, в имени которых содержится пробел
С помощью FindFirstFile и FindNextFile сделал программку, которая выводит названия всех файлов...

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

2
3126 / 1771 / 587
Регистрация: 26.04.2015
Сообщений: 5,854
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
0 / 0 / 0
Регистрация: 02.05.2015
Сообщений: 5
13.07.2018, 23:28  [ТС] 3
alpap - Спасибо за ответ, не удается понять, как применить вашу конструкцию и почему необходимо постоянно выходить/заходить в папку?

Извиняюсь, все заработало, спасибо дорогой товарищ alpap!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2018, 23:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Поиск файлов по части имени \ имени
var SR: TSearchRec; Folder: String; begin Folder := 'D:\'; Folder :=...

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

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


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

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

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