0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 6
|
|
1 | |
Извлечение файлов из архива по заданным условиям с переименованием26.04.2018, 13:06. Показов 2329. Ответов 11
Метки нет Все метки)
(
Добрый день!
Есть одна задача, но опыта для ее реализации пока недостаточно, поэтому нужна ваша помощь. Есть папка, в которой располагаются архивы. Необходимо в этой папке найти последний измененный zip архив и извлечь оттуда только pdf файлы (их всегда два). Файлы извлекаются в другую директорию. После извлечения файлы нужно переименовать, используя для этого часть названия архива. Название архивов выглядит следующим образом: XXXXX__NNNNN_CCCC файлы нужно переименовать NNNNN_1, и NNNNN_2 Буду очень признателен за помощь в решении такой задачи.
0
|
|
26.04.2018, 13:06 | |
Ответы с готовыми решениями:
11
Извлечение из архива .ARJ с переименованием файлов Извлечение файлов из архива Автоматическое извлечение файлов из архива Извлечение файлов из архива ZIP |
4330 / 2120 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
26.04.2018, 15:51 | 2 | |||||
![]() Решение
Erl81
если в именах архивов меняется часть: CCCC, то:
1
|
0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 6
|
|
03.05.2018, 17:21 [ТС] | 3 |
alpap, Большое спасибо за помощь!
в условии, правда, появились дополнительные уточнения, и пока так и добрался до рабочего варианта. Поиск "свежих" архивов должен осуществляться также во всех подпапках и в имени архива меняются все значения, но вытаскивать необходимо только второе значение, в примере NNNNN Поможете?
0
|
4330 / 2120 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
03.05.2018, 18:00 | 4 | |||||
Erl81,
всего-то? в строке 10 сделайте изменение:
1
|
0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 6
|
|
04.05.2018, 16:03 [ТС] | 5 |
alpap, Добавлял атрибут /s, нужный архив он находит, но выдает ошибку ERROR: не удается найти указанный файл. и далее название последнего измененного архива. Поэтому подумал, что возможно где-то нужно еще поправить. Если архив лежит в корне, то распаковывает отлично.
0
|
4330 / 2120 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
04.05.2018, 17:21 | 6 | |||||
а ну поясните, вы хотите найти последний измененный файл (т.е. архив) или последний измененный файл находящийся в архиве?
Проверьте где вы ищете: set "D1=C:\Inbox" (это мой путь) Проверьте что ищете: set "ear=7z" (у меня архивы 7z, у вас возможно zip) командой:
Добавлено через 3 минуты и сохраняйте код в кодировке OEM 866, может у вас есть кириллица в путях (именах).
1
|
0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 6
|
|
07.05.2018, 18:49 [ТС] | 7 |
Необходимо найти последний измененный архив, и код его находит, но файлы из архива не извлекает.
Добавил скрин простого примера вместе с ошибкой, возможно поможет. Архивы все в zip. Кириллицы в именах нет. Спасибо!
0
|
4330 / 2120 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
07.05.2018, 23:18 | 8 |
сейчас заплАчу!
и посмотрите на свое название архива - нет разницы? Начинаете злить. Давайте имена с десяток архивов или сделайте гарантированную маску и с четким описанием какой именно кусок имени файла вам нужен.
0
|
0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 6
|
|
08.05.2018, 16:27 [ТС] | 9 |
Название архивов такого вида "117019382_50363677_08.05.2018_5050058510"
первоначально архивы были из трех частей, вроде "117019382_50363677_08052018", какой указан в условии, поэтому я Вас понимаю, но нужна из названия только вторая часть, в примере "50363677", независимо от кол-ва частей в названии архива. Но, я уточнил, все последующие архивы, будут такого вида "117019382_50363677_08.05.2018_5050058510". Очень надеюсь на Вашу помощь, а по ходу вопроса вникаю в тему, но пока не получается подправить так, чтобы заработало. Спасибо!
0
|
4330 / 2120 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
08.05.2018, 21:24 | 10 |
на bat я не возьмусь (нудно и длинно) разбирать такие имена или одинаковая маска всегда или просите не на bat.
0
|
0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 6
|
|
10.05.2018, 15:29 [ТС] | 11 |
ок, а как можно поправить, чтобы работало только для такого варианта?
117019382_50363677_08.05.2018_5050058510 или как раз этот вариант все усложняет?
0
|
4330 / 2120 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
12.05.2018, 01:22 | 12 |
Erl81,
да нет вообще разницы для какого варианта, если вам просто вторая часть имени после _ нужна то что у вас не извлекает файлы проблема скорее в архиваторе. Если он x64, то скорее лежит не по этому пути: set "arx=%ProgramFiles%\7-Zip\7z.exe" найдите в папке своего архиватора 7z.exe и скопируйте его полный путь или пропишите в Path вот пример работы с вашими новыми именами: проблем нет.
0
|
12.05.2018, 01:22 | |
Помогаю со студенческими работами здесь
12
Извлечение из архива конкретного файла (файлов) Извлечение файлов из SFX-архива в указанную папку
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |