|
Запись нескольких файлов в ZIP архив.
| ☑ |
0
DAVI
11.04.17
✎
13:33
|
Добрый день. Несколько экселевских файлов лежат на диске. Как их все запаковать в один ZIP архив. Делаю так
ЗаписьZIP = Новый ЗаписьZipФайла(ДатаФайла);
ЗаписьZIP.Добавить(Файл);
ЗаписьZIP.Записать();
и он конечно же записывает в архив только последний файл.
Как делать правильно?
|
|
1
lodger
11.04.17
✎
16:35
|
через штатную запись в ЗаписьZIP.Добавить(Файл); надо писать маску, по которой платформа наберет все понравившиеся ей файлы. т.е. невозможно их поименно перечислить.
|
|
2
ManoloMage
11.04.17
✎
16:40
|
Проще положить в одну папку, а потом пременить маску "*.*" и не т проблем. Кстати интерактивно так обычно и делается.
|
|
3
НЕА123
11.04.17
✎
16:47
|
(0)
>и он конечно же записывает в архив только последний файл.
он же и первый, и единственный. не?
|
|
4
lodger
11.04.17
✎
17:07
|
(2) ну, некоторые добрые люди работают в темпах и не создают лишних папок. тогда придется уникальный шаблон именования для файлов колхозить и по нему маску отбора делать.
(3) там имя конечного файла или маска для отбора.
|
|
5
ManoloMage
12.04.17
✎
10:34
|
(4) Что мешает в temp создать папку?
|
|
6
DAVI
12.04.17
✎
16:44
|
(5) а можно пример пожалуйста
|
|
7
kn
12.04.17
✎
18:18
|
КаталогВременныхФайлов = КаталогВременныхФайлов();
КаталогКартинок = КаталогВременныхФайлов + "\Картинки\";
КаталогНаДиске = Новый Файл(КаталогКартинок);
Если Не КаталогНаДиске.Существует() Тогда
СоздатьКаталог(КаталогНаДиске);
КонецЕсли;
//туда в КаталогКартинок пишем файлы
......
//архивируем КаталогКартинок
Архиватор = Новый ЗаписьZipФайла(КаталогВременныхФайлов + "\мойфайл.zip");
Архиватор.Добавить(КаталогаКартинок, РежимСохраненияПутейZIP.СохранятьОтносительныеПути);
Архиватор.Записать();
|
|
8
Chieftain
12.04.17
✎
23:20
|
(0) А что мешает несколько раз вызвать "Добавить" не пересоздавая объект "ЗаписьZIP"?
|
|
9
Chieftain
12.04.17
✎
23:23
|
+(8) типа
ЗаписьZIP = Новый ЗаписьZipФайла("d:\qwer.zip");
ЗаписьZIP.Добавить("d:\1.txt");
ЗаписьZIP.Добавить("d:\2.txt");
ЗаписьZIP.Добавить("d:\3.txt");
ЗаписьZIP.Записать();
|
|