Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Archive::Zip архивирование с исключениями, создание архивов с исключением файлов 
V
    Опции темы
birdfree
Дата 29.3.2010, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.12.2008

Репутация: 1
Всего: 1



Доброго времени суток! 
есть такой код поковки директории:
Код

use Archive::Zip qw( :ERROR_CODES );
print "Directory backup...\n";
my $zip = Archive::Zip->new();
$zip->addTree($directory_for_backup1);
if ($zip->writeToFileNamed($backup_zip_file1) == AZ_OK ) {
    print "The Backup done.\n\n";
}
else {
    print "CAN'T WRITE BACKUP ZIP FILE ($backup_zip_file1): $!\n\n";
}
 
но возникла проблема, при архивации "на лету" нужно исключать файлы по маске, как в rar к примеру)) То есть мы задаем список с масками файлов, к примеру: *.bk; *name.if; *.*ls и еще у меня у меня вопрос нужно будет исключать файл типа *.$L я надеюсь что не каких проблем не будет)) 
PM MAIL   Вверх
amg
Дата 30.3.2010, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Не проверял, но, судя по perldoc Archive::Zip, можно сделать так:
Код
$zip->addTree($directory_for_backup1, '', sub {!/\.rar$/ && !/\.bk$/ && !/name\.if$/ && !/\.ls/ && !/\.\$L$/});

PM MAIL   Вверх
birdfree
Дата 30.3.2010, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.12.2008

Репутация: 1
Всего: 1



amg, Большое вам спасибо! Все прекрасно работает. Только есть одно но, он чувствителен к регистру то есть *.BK и *.bk для него разные вещи.
PM MAIL   Вверх
amg
Дата 30.3.2010, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(birdfree @  30.3.2010,  15:18 Найти цитируемый пост)
Только есть одно но, он чувствителен к регистру то есть *.BK и *.bk для него разные вещи
Заменить /\.bk$/ на /\.bk$/i, и в этом случае не будет чувствителен к регистру. Аналогично для остальных.
PM MAIL   Вверх
birdfree
Дата 30.3.2010, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.12.2008

Репутация: 1
Всего: 1



amg, И снова большое вам спасибо ))) Я просто в перле пишу максимум третий день 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.