2

У меня есть много файлов с одним и тем же именем во многих папках в проекте на ПК с Windows. В тысячах папок находятся сотни тысяч исходных файлов.

Их нужно отправить на локализацию. Ни один из исходного кода не может пойти с ними - только файлы свойств, поэтому я не могу просто сжать весь проект и отправить его.

  • Я не могу бросить их в zip-файл - для этого нужны уникальные имена.

  • Я попытался использовать Agent Ransack, который перечислит все файлы по их путям, но, к сожалению, 7Zip игнорирует пути и жалуется на отсутствие уникальных имен.

Что мне нужно, это сценарий или автоматизированный способ получить только определенные файлы свойств в соответствующих папках в ZIP-архив. Затем они могут быть разархивированы прямо над существующими, когда они возвращаются в одной операции тоже.

1 ответ1

3
7z a -tzip project.zip -ir!DIR1\*.cpp

выходил бы и брал все файлы с расширением .cpp внутри и под DIR1 и помещал их в архив с именем project.zip. Затем добавьте больше файлов с расширением .abc в этот архив с помощью

7z u project.zip -ir!DIR1\*.abc

-t указывает тип архива (ZIP). -I и -r переключатели объединены в -ir , которые я ncludes имен файлов и R ecurses подкаталогов. Подстановочные знаки или имена файлов с пробелами должны быть заключены в кавычки, например "Dir\Program files *" или Dir\"Program files" *

-

Вы также можете создать список файловых спецификаций для включения с подстановочными знаками, а затем поместить только эти файлы в архив с помощью:

7z a -r -tzip archive.zip @listfile.txt

-

Поскольку вы использовали непротиворечивые и уникальные соглашения об именах для файлов исходного кода, вы можете исключить ненужные файлы из архива во время создания с помощью флага -x, например:

7z a -r archive1.zip subdir\ -x!*.src

который сгенерирует архив, исключая файлы, оканчивающиеся на .src

Файл справки, включенный в 7-zip, к которому вы можете получить доступ из GUI-версии приложения, содержит гораздо больше деталей и много других переключателей.

-

Если бы это не было так огромно, я мог бы вместо этого предложить использовать 7z из командной строки, чтобы смести все, а затем удалить исходный код из архива перед передачей.

7z a -r archive1.zip subdir\

добавляет все файлы и подпапки в и подкаталог папки в архиве archive1.zip. Спецификации файлов в архиве будут содержать subdir\ prefix.

Затем используйте 7zip File Manager, чтобы удалить файлы исходного кода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .