![]() |
7zip консольное добавление в архив с заменой
Всем доброго времени суток!
Пытаюсь сделать следующее: Добавить в существующий архив файлы\каталоги по списку но дело в том что ошибка "Duplicate filename" нагуглил опцию -u и родилась такая команда 7z a TEST.zip @list.txt -ur2x2y2z2w2 но все-равно выдает ошибку о дубликате... в GUI версии мы просто нажимаем ОК для подтверждения добавления и замены но в консольном варианте что-то не выходит. Помогите)) |
А если не гуглить, а просто прочитать справку 7-Zip по этому параметру? И почему бы Вам просто не использовать команду «u»:
Цитата:
|
Iska, я нагуглил русскую справку от многоуважаемого Gora и предложенный вами не работает(Duplicate filename) или я что-то делаю не так:
вот так пробовал 7z u TEST.zip @list.txt 7z u TEST.zip @list.txt -ur2x2y2z2w2 7z u TEST.zip @list.txt -ur2x1y2z1w2 в справке написано что если не указывается второй архив то пакуется в тот-же. |
Цитата:
|
gora, так оно и есть. Мне нужно объединить(слияние) несколько папок с одинаковыми названиями (и структура повторяется). Только файлы разные.
|
nfs911, Вы чего-то не договариваете.
|
Вложений: 1
Iska, идея проста...см.пример.
Задача: собрать архив из разных источников файлов с идентичной структурой. Представьте что папки это структура,а файлы это детали. Продукт один,а детали разные. |
Цитата:
|
Iska, пример приложил. Задачу озвучил.
|
nfs911, Вы хотите получить в итоговом архиве такую:
Код:
\ |
Цитата:
Либо пакуйте с родительскими папками: Код:
.\Dir0 |
Цитата:
Код:
@echo off |
Да, 7-Zip этого пока не умеет, в отличие от WinRAR (параметр «-EP1» — исключить базовую папку из имён). Потому, либо, как Вы озвучили:
Цитата:
Georgio, напомните, почему было выбрано именно «<list.txt (for /f … ('more')» вместо простого «for /f … ("list.txt")»? |
Iska, Georgio, gora, Всех благодарю за участие. Буду юзать WinRAR или как было - множественный вызов.
Georgio, действительно,почему?))) |
Цитата:
Цитата:
Такое использование команды "MORE" (или иногда и других команд, поддерживающих синтаксические конструкции типа "<файл команда" или "команда 1| команда 2") является необходимым элементом для создания, как я это называю, "блочно-конвейерной" структуры кода, которая может быть иногда крайне удобной и делает язык Batch настоящим языком программирования. Например, можно испрльзовать такую "конвейерную цепочку": Код:
<"исходный файл" (for /f ... %%i in ('more') do @7z ...)| (for /f ... %%i in ('more') do @какая-нибудь команда для обработки текста вывода команды "7z")>"выходной файл" Какой скриптовый язык напоминает вам этот пример? |
Цитата:
|
nfs911, Bash напоминает, но поскольку я имел в виду скриптовые языки Windows, то этот пример напоминает конструкцию на PowerShell.
Конечно, такие "конвейерные построения" могут наталкиваться на "подводные камни", но большинство из этих "камней" устранимо при решении какой-нибудь конкретной задачи. |
Время: 18:32. |
Время: 18:32.
© OSzone.net 2001-