:: Не фоксом единым
автоматизация zip
boba

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
Нужно автоматизировать архивацию.
На сервере есть zip
Раньше без проблем автоматизировал arj
Думал, команды подойдут 1=1
Но что-то не выходит
Скажем нужно создать новый архив и поместить
туда все dbf , cdx из указанной директории



Исправлено 1 раз(а). Последнее : boba, 11.07.20 15:17
Ratings: 0 negative/0 positive
Re: автоматизация zip
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
Вот хелп. В нем описание командной строки.

Как по мне, самый удобный вариант создать *.txt файл со списком архивируемых файлов и использовать команду zip-а

7z a -tzip NAME_FILE.zip @NAME_FILE.txt

P.S. Думаю, не проблема положить на сервер именно 7zip- он бесплатный.


------------------
Что-то с памятью моей стало, всё что было не со мной- помню.




Исправлено 3 раз(а). Последнее : Chemberzhy, 11.07.20 17:15
Ratings: 0 negative/0 positive
Re: автоматизация zip
PaulWist
Автор

Сообщений: 14625
Дата регистрации: 01.04.2004
forum.foxclub.ru


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: автоматизация zip
sphinx

Сообщений: 31188
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Crispy
Ну и уж до кучи. Паковка-распаковка с использованием бесплатной API-библиотеки от Akita Minoru, 7-zip32.dll, сделанной на основе методов из 7z, но обернутой как API, все используемые ключи похоже используются оттуда же (последняя версия, что мне попадалась - 4.57.0.1 от 2008, но возможно уже есть и поновее, если поглядеть-поискать).
Есть английский перевод (с японского) включенных в библиотеку функций (см. текстовый файл в прицепе).
В интерпретации же для фокса получаем такой код для добавления в архив:


lcCommands = "a"
lcArchName = "c:\2\archive.7z"
lcLstFiles = "c:\temp\1\"
lcSwitches = "-ms"
lcCmdLine = lcCommands + " " + lcArchName + " " + lcLstFiles + " " + lcSwitches

DECLARE long SevenZip IN 7-zip32.dll long, string, long, long
lnRet = SevenZip(0, lcCmdLine, 0, 0)

Аналогично (заменой команды "a" на "e") можно проделывать извлечение из архива, также и ряд других команд по работе с архивом (подробнее см. хелп к 7z).
Т.е., как видите, с использованием этой библиотеки все происходит абсолютно без использования командной строки и тому подобного, что на мой взгляд в ряде случаев получается намного удобнее.


------------------
"Veni, vidi, vici!"(с)




Исправлено 1 раз(а). Последнее : sphinx, 14.08.20 09:55
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 12 (Гостей: 12)

© 2000-2024 Fox Club 
Яндекс.Метрика