Как добавить в архив папку: ? | Windows 7 Windows 10

Содержание

python — Как добавить папку с файлами в архив

Вопрос задан

Изменён 7 месяцев назад

Просмотрен 2k раз

Проблема зависит в том, что при помощи Python требуется добавить в архив целую папку с файлами. То есть предположим имеется путь: D:\Direct. В этой папке лежит файл test.py и папка Source, в которой есть еще каталог dist и иконка icon.ico. Задача добавить все эти файлы в архив. То есть заставить программу полностью заархивировать папку Direct со всеми файлами. Пробовал использовать библиотеку zipfile. Но она создает только новую папку и помещает туда файл, а далее все архивирует. Буду крайне благодарен за решения.

  • python
  • архивация
  • zipfile

0

Когда давно делал такой скрипт для архивации. Возможно немного надо будет сменить герерацию имен архива под Ваши пожелания.

import zipfile
import os
import datetime
dt = datetime.datetime.now()  # получаем дату и время!
now_date = dt.date().strftime("%Y-%m-%d")  # Текущая дата
now_time = dt.time().strftime("%H-%M-%S")  # Текущее время
backup_folders = ["F:\\Сайт\\your-sitename-here"]  # Список папок для архивации
arch_name = "backup_" + str(now_date) + ".zip"  # имя архива!
ignore_file = ["123.txt"]  # если надо исключить файлы
def mybackup(arch, folder_list, mode):
    # Счетчики
    num = 0
    num_ignore = 0
    # Создание нового архива
    z = zipfile.ZipFile(arch, mode, zipfile.ZIP_DEFLATED, True)
    # Получаем папки из списка папок.
    for add_folder in folder_list:
        # Список всех файлов и папок в директории add_folder
        for root, dirs, files in os.
walk(add_folder): for file in files: if file in ignore_file: # Исключаем лишние файлы print("Исключен! ", str(file)) num_ignore += 1 continue # Создание относительных путей и запись файлов в архив path = os.path.join(root, file) z.write(path) print(num, path) num += 1 z.close() print("------------------------------") print("Добавлено: ", num) print("Проигнорировано: ", num_ignore) print(now_time, now_date) # создаст архив при наличии перезапишет существующий mybackup(arch_name, backup_folders, "w")

4

#!/usr/bin/env python3
import os
import time
import zipfile
# 1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
source = ['Путь к папке', 'Путь к папке']
# Заметьте, что для имён, содержащих пробелы, необходимо использовать
# двойные кавычки внутри строки.
# 2. Резервные копии должны храниться в основном каталоге резерва. target_dir = 'Путь к папке бекапов' # Подставьте ваш путь. #!!!Пути не должны зацикливаться, не должен бекапить эту папку в неё же!!! # 3. Файлы помещаются в zip-архив. # 4. Текущая дата служит именем подкаталога в основном каталоге today= target_dir + os.sep + time.strftime('%Y_%m_%d') # Текущее время служит именем zip-архива now = time.strftime('%H_%M_%S') # Запрашиваем комментарий пользователя для имени файла comment = input('Введите комментарий --> ') if len(comment) == 0: # проверяем, введён ли комментарий target = today + os.sep + now + '.zip' else: target = today + os.sep + now + '_' + comment.replace(' ', '_') + '.zip' # Создаём каталог, если его ещё нет if not os.path.exists(today): os.mkdir(today) # создание каталога print('Каталог успешно создан', today) # 5. Используем команду "zipFile" для помещения всех каталогов и фалов в них в zip-архив with zipfile.ZipFile(target, 'w', zipfile.ZIP_DEFLATED, True) as myzip: for source_folder in source: for root,dirs,files in os.
walk(source_folder): for file in files: path = os.path.join(root, file) myzip.write(path) print(path) # Выводим на экран лист с папками для создания бекапа, небольшой дебаг, чтобы видет что правильно написаны пути. print(source)

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Создание и распаковка tar архивов в Linux

Tar — архивы один из наиболее распространённых способов хранения данных в Linux системах.

Но tar не сжимает данные в архиве. Tar всего лишь упаковывает файлы. Для сжатия tar умеет работать с утилитами bzip2 или gzip.

Правильнее называть «tarball» (тарболл, «tar» мяч). По сути tar формат — это объединение нескольких файлов в один. Попробуйте объединить несколько текстовых файлов в один tarball и открыть его текстовым редактором. Вы увидите что это лишь большой текстовый файл, в котором перечислено содержимое входящих в него файлов с указанием их путей текстом.

Создать архив из папки

Предположим, что необходимо создать tar архив из папки и использовать при этом сжатие. Чтобы создать архив tar с gzip сжатием, нужно выполнить команду:

tar -zcf /root/files.tar.gz /home/folder/

При выполнении этой команды из содержимого папки /home/folder/ будет создан архив по адресу /root/files.tar.gz. Если указать относительный путь, то файл создастся в той папке, где открыт терминал.

В конце команды передаётся директория, которую надо архивировать. В примере стоит абсолютный путь к этой папке. В таком случае в архиве tar будет находится все родительские папки т.е. при открытии архива там будет папка /home/ и внутри неё папка /folder/. Но если абсолютный путь заменить относительным, то будет только /folder/.

В названии файла «files.tar.gz» можно указать любое расширение. Но для сжатых тарболлов лучше писать именно так. То есть сначала указывать то что это «tar», а потом писать «gz».

Разберём пример по частям. Команда tar в примере выше имеет три ключа:

  • z — архивирует с gzip компрессией. Если нужно использовать bzip2, надо заменить ключ «z» на «j».
  • c — без этого ключа архив не создастся.
  • f — вывод информация в файл. Без этого ключа tar будет выдавать результат на stdout при упаковке и пытаться читать архив с stdin при распаковке.

Исключить папки и файлы при создании архива

Иногда нужно исключить некоторые подпапки при создании архива. К примеру, если надо создать архив из папки /home/, но в него не должны попасть содержания папок /cache/ и /trash/. Тогда необходимо использовать ключ exclude:

tar -zcf /root/files.tar.gz /home/ --exclude={'*/cache/*','*/trash/*'}

Символы звёздочек в exclude означают либой набор символов. То есть выполнять эту команду без звёздочек в начале путей, то необходимо прописывать полный путь к папке, которую надо исключить.

В конце значений explude тоже стоят звёздочки, чтобы удалялись не сами папки, а их содержимое (все дочерние файлы и папки).

При выполнении такой команды в архив не попадут файлы из папок:

/home/cache/
/home/folder/cache/
/home/folder/subfolder/cache/

Обратите внимание на то, что внутри фигурных скобок explude нет пробелов {'*/cache/*','*/trash/*'}. Если поставить пробел до/после запятой или до/после фигурной скобки, то исключение не сработает.

Разархивировать

Чтобы распаковать содержимое tar архива в ту же папку, в которой он находится, перейдите в папку с ним и введите:

tar -xf files.tar.gz

Ключ x указывает на распаковку архива. Ключ f обязателен, как и при создании архива.

Если требуется распаковать архив в определённую папку, то путь к ней можно указать после ключа C:

tar -xf files.tar.gz -C /home/folder/

Была ли эта статья полезна? Есть вопрос?

Закажите недорогой хостинг Заказать

всего от 290 руб

Как создать папку архива в Outlook

Если вы похожи на большинство людей, ваш почтовый ящик постоянно заполняется сотнями сообщений. Ручная организация отдельных элементов в отдельные папки элементов может быть проблематичной, особенно если вам не хватает места. По оценкам Statista, в 2020 году ежедневно отправлялось и получалось 306,4 миллиарда электронных писем, а к 2025 году это число вырастет примерно до 376,4 миллиарда. Создание архивной папки в Outlook позволит переместить старые сообщения в отдельную папку и освободить место в вашем почтовом ящике. Вот шаги для создания папки архива в Outlook.

Найдите подходящий учебный лагерь

  • Career Karma подберет для вас лучшие технологические учебные курсы
  • Доступ к эксклюзивным стипендиям и подготовительным курсам

Выберите интересующий вас вопрос
Разработка программного обеспеченияДизайнОбработка и анализ данныхАналитика данныхUX-дизайнКибербезопасностьИмя

Фамилия

Электронная почта

Номер телефона

Продолжая, вы соглашаетесь с нашими Условиями обслуживания и Политикой конфиденциальности, а также соглашаетесь получать предложения и возможности от Career Karma по телефону, текстовым сообщениям и электронной почте.

Что такое архивная папка в Outlook?

Архивная папка — это отдельная папка в Outlook, в которой можно хранить старые или используемые элементы, такие как сообщения, контакты и элементы календаря. Вы можете использовать его для автоматического архивирования сообщений электронной почты в папки по умолчанию, чтобы сделать ваш почтовый ящик более организованным.

Вы также можете управлять файлом данных Outlook, перемещая папки. Все, что вы архивируете в Outlook, переходит из вашей текущей папки в папку архива Outlook. Функция автоматического архивирования позволит вам поддерживать порядок в папке «Входящие» и создать упорядоченную структуру папок, на которую будет проще ссылаться в будущем.

Использование для создания папки в Outlook

  • Организация сообщений электронной почты по темам. Архивные папки Outlook можно использовать для организации сообщений электронной почты по темам. Например, представьте, что вы хотите получить работу в Microsoft. Вы можете создать архивную папку Outlook для «Microsoft» и перенести все, что с ней связано, например, контакты и разговоры, в это расположение по умолчанию.
  • Храните все ваши приглашения на собрания и мероприятия. Если вы организуете собрания или посещаете их, вы можете создать список папок для хранения приглашений на собрания. Вы также можете создать папку событий для хранения всех ваших информационных бюллетеней по разработке программного обеспечения или других элементов календаря.
  • Обратитесь к старым разговорам. Архивные папки Outlook можно использовать для ссылок на старые беседы. Если вам нужно сослаться на разговор, который у вас был несколько месяцев назад, вы можете найти его в папке архива Outlook. Если вам нужно найти заархивированное электронное письмо, но вы не знаете точную дату его отправки, вы можете использовать инструмент поиска для поиска в папках, чтобы найти его.

Создание папки архива в Outlook: шаг за шагом

  1. Нажмите «Файл», «Информация», «Инструменты» и выберите «Очистить старые элементы»
  2. Нажмите кнопку «Архивировать эту папку и все подпапки».
  3. Введите дату. Архивная папка в Outlook: подробные сведения Изучение того, как создавать архивные папки в Outlook, может помочь вам оставаться организованным.

    1. Нажмите «Файл», затем «Информация», затем «Инструменты» и выберите «Очистить старые элементы».

    В более новых версиях вы можете архивировать элементы вручную в любое время. В Outlook 2013 вам нужно щелкнуть вкладку «Файл», затем выбрать «Информация», «Инструменты очистки», а затем «Архив». В Outlook 2016 вы перейдете на вкладку «Файл», затем «Информация», затем «Инструменты», а затем выберите «Очистить старые элементы».

    2. Нажмите «Архивировать эту папку и все подпапки».

    Папка и все ее подпапки могут быть заархивированы по разным причинам. Возможно, было бы целесообразно создать резервную копию этих файлов на случай, если что-то случится, например, в случае катастрофической потери данных. Нажмите «Архивировать эту папку и все вложенные папки» и выберите папку, которую хотите заархивировать.

    3. Введите дату

    В разделе «Архивировать элементы старше чем» введите дату. Этот шаг гарантирует, что в резервную копию будут включены только архивы старше определенной даты. Это необходимо для того, чтобы резервная копия была как можно более актуальной.

    4. Создайте несколько PST-файлов 

    Папка PST или папка личного хранилища также могут быть полезны. Вы можете создать множество файлов .pst для архивирования разных папок. Например, вы можете захотеть хранить отправленные электронные письма дольше, чем входящие. Это полезно, если вы хотите сохранить более длинную историю электронной почты в папке вашего почтового ящика.

    5. Включите элементы с флажком «Не архивировать автоматически»

    Если определенные элементы не должны архивироваться автоматически, вы можете установить флажок «Не архивировать автоматически». Это гарантирует, что элемент не будет автоматически заархивирован в папку назначения, и укажет, что его необходимо заархивировать вручную.

    6. Нажмите «ОК».

    Нажмите «ОК». Готово! Теперь вы можете находить и открывать свои заархивированные элементы, как всегда. Убедитесь, что вы выбрали папку архива на панели навигации. Если вы хотите удалить заархивированную папку, просто щелкните папку правой кнопкой мыши, выберите «Удалить» и нажмите «ОК».

    Как узнать больше о том, как создать архивную папку в


    Outlook 
    • Форумы и группы. Некоторые форумы или группы могут иметь специальные инструкции по созданию папки архива в Outlook. Кроме того, вы можете найти руководства, статьи и руководства на форумах или в группах. Вы также можете задавать вопросы и получать отзывы от других пользователей.
    • Курсы и семинары. Еще один способ создать архивную папку в Outlook — посетить онлайн-учебный курс или семинар. Эти курсы помогут вам освоиться в этом процессе и убедиться, что папка архива правильно настроена в настройках вашего почтового ящика.
    • Учебники. В Интернете доступно множество учебных пособий, и большинство из них легко понять. Например, вы можете создать папку архива в Outlook, используя учебник. Кроме того, это поможет вам понять процесс.

    Как создать архивную папку в Outlook. Часто задаваемые вопросы

    Как автоматически архивировать электронные письма в Outlook?

    Вы можете настроить автоматическое архивирование сообщений электронной почты с помощью функции Outlook, которая называется автоархивацией Outlook. Это позволит настроить автоматический архив в Outlook. Кроме того, это поможет вам отслеживать вашу электронную почту, перемещая и копируя сообщения из папки «Входящие» и других папок в файл архива.

    В чем разница между архивированием и удалением в Outlook?

    Архивировать и удалять в Outlook — две большие разницы. Когда вы архивируете электронное письмо, оно перемещается в другую папку, но остается доступным. Когда вы удаляете электронное письмо из своего почтового ящика, оно исчезает навсегда и не может быть восстановлено. Вы можете по-прежнему видеть заархивированное электронное письмо, но оно исчезнет навсегда, как только вы его удалите.

    Как освободить место в Outlook?

    Перейдите на вкладку «Файл» в диалоговом окне настроек и выберите «Инструменты очистки». Отсюда выберите «Удалить выбранные элементы», чтобы удалить все элементы из папок почтового ящика Outlook, которые вам не нужны. Вы также можете очистить папки со спамом или нежелательной почтой и заархивировать старые электронные письма. В Outlook перейдите в меню «Файл», затем «Инструменты» и выберите «Очистка почтового ящика».

    Как долго архивные письма хранятся в Outlook?

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

    О нас: Career Karma — это платформа, предназначенная для помощи соискателям в поиске работы, исследовании и подключении к программам профессионального обучения для продвижения по карьерной лестнице. Узнайте о публикации CK.


    Об авторе

    Хоана Феррейра

    Автор контента в Career Karma

    Джоана — опытный писатель и путешественник. Имея опыт оптимизации контента и других технических тем, она вносит свой вклад в информативный технический контент блога Career Karma. Джоана имеет степень бакалавра в области туризма. читать дальше

    Поделись этим

    tar — как добавить файлы из папки в архив вместо самих папок?

    Задать вопрос

    спросил

    Изменено 6 лет, 2 месяца назад

    Просмотрено 3к раз

    это не дубликат создания архива tar без включения родительского каталога

    Если я сделаю tar -czf каталог архива , каталог будет добавлен в архив. Я хочу добавить файлы папки каталог а не сам каталог, как?
    , пожалуйста, предложите ответ, который не включает cd ing to directory

    это не дубликат того, что он показывает:
    У меня есть каталог с именем somedir с содержимым как abc , 900xyz 15:0 15:0 лс какой-нибудь абв xyz

    Я хочу сделать архив, который будет содержать файлы abc , xyz , а не somedir папка

    Обновление : если я использую команду tar -C /home/username/dir1/dir2 -cvf temp.tar yourarchive (это ответ на вопрос, о котором мой вопрос называется дубликатом)
    я получаю это:

    то, что я хотел, это tar czf archive.tar.gz -C yourarchive . , я получаю это (, что достаточно близко к тому, что я хотел ):

    то, что я хотел, это (непосредственно файлы, без папки):

    4

    Использовать -C :

     архив tar czf -C каталог. 
     

    Это указывает tar использовать каталог в качестве рабочего каталога и архивировать все, что содержится в каталоге ( . ).

    Использование -C почти эквивалентно использованию cd ; архив выше интерпретируется относительно текущего каталога, когда tar запускается, затем tar меняет свой рабочий каталог на каталог перед интерпретацией . .

    Я не уверен, насколько широко распространена поддержка tar -C , но ее должен поддерживать любой дистрибутив Linux.

    0

    попытка

     tar cvf archive.tar -C somedir $(ls somedir)
     

    где

    • cvf will C reate V erbose(ly) F ile Archive.tar
    • -C somedir сообщит tar использовать somedir
    • $(ls somedir ) список файлов в somedir и $( ) передать результат в качестве аргумента

    Изменить:

    Как указано в комментарии, используйте ls -A (не ls -a ) для отображения dotfile.

    5

    Вы можете сделать это с помощью pax(1), который является posix-преемником tar, но он так и не прижился. Он может записывать tar-файлы и выполнять преобразования имен файлов, которые вы хотите:

     pax -wzf архив -s '|каталог/\?||' каталог
     

    Это разбивается на:

    • -w записать архив (аналогично -c для tar)
    • -z сжать архив (то же, что и tar)
    • -f архив запись в файл архив (аналогично tar)
    • -s '|каталог/\?||' заменить имена файлов в архиве. Замените строку каталогом на необязательный / с пустой строкой. Факультативный 9 ), поскольку он заменяет только первое совпадение (например, sed(1) ), и все файлы будут начинаться с каталога /\?

    Для большей ясности вы можете добавить:

    • -x ustar написать tar-файл POSIX

    , но это значение по умолчанию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *