<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: работа с zip-архивами с помощью компонента Zip Component]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=2842&amp;type=atom" />
	<updated>2009-02-25T10:57:03Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=2842</id>
		<entry>
			<title type="html"><![CDATA[VBScript: работа с zip-архивами с помощью компонента Zip Component]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=19988#p19988" />
			<content type="html"><![CDATA[<p>Бесплатный COM-сервер <a href="http://www.xstandard.com/en/products/#zip">Zip Component</a> предоставляет функциональность архиватора: удобная упаковка/распаковка файла или папки одной строкой кода. Компонент можно скачать <a href="http://www.xstandard.com/en/downloads/?product=zip">здесь</a>, описание и примеры использования можно найти <a href="http://www.xstandard.com/en/documentation/xzip/">здесь</a>. Ссылка на скачивание высылается на e-mail. Размер дистрибутива (архив) — около 70 Кб. Компонент не работает с огромными архивами, размер архива ограничен количеством доступной оперативной памяти.</p><p>Простейший пример упаковки файлов с максимальной степенью сжатия (степень сжатия может принимать значения от 1 до 9):<br /></p><div class="codebox"><pre><code>Set objZip = CreateObject(&quot;XStandard.Zip&quot;)
objZip.Pack &quot;C:\Temp\steam1.jpg&quot;, &quot;C:\Temp\test.zip&quot;,,, 9
objZip.Pack &quot;C:\Temp\steam2.jpg&quot;, &quot;C:\Temp\test.zip&quot;,,, 9</code></pre></div><p>Упаковка с сохранением путей:<br /></p><div class="codebox"><pre><code>Set objZip = CreateObject(&quot;XStandard.Zip&quot;)
objZip.Pack &quot;C:\Temp\steam1.jpg&quot;, &quot;C:\Temp\test.zip&quot;, True
objZip.Pack &quot;C:\Temp\steam2.jpg&quot;, &quot;C:\Temp\test.zip&quot;, True</code></pre></div><p>Упаковка с указанием специальных путей, и с использованием групповых символов:<br /></p><div class="codebox"><pre><code>Set objZip = CreateObject(&quot;XStandard.Zip&quot;)
objZip.Pack &quot;C:\Temp\*.jpg&quot;, &quot;C:\Temp\test.zip&quot;, True, &quot;files/subfolder&quot;</code></pre></div><p>Распаковка файлов с сохранением путей и использованием групповых символов:<br /></p><div class="codebox"><pre><code>Set objZip = CreateObject(&quot;XStandard.Zip&quot;)
objZip.UnPack &quot;C:\Temp\test.zip&quot;, &quot;C:\Temp\&quot;, &quot;*.jpg&quot;</code></pre></div><p>Исследование содержимого архива:<br /></p><div class="codebox"><pre><code>Set objZip = CreateObject(&quot;XStandard.Zip&quot;)
For Each objItem In objZip.Contents(&quot;C:\Temp\test.zip&quot;)
    If objItem.Type = 2 Then
        tp = &quot;(file)&quot;
    Else
        tp = &quot;(folder)&quot;
    End If
    WSCript.Echo objItem.Path &amp; objItem.Name &amp; _
        &quot; &quot; &amp; objItem.Date &amp; &quot; &quot; &amp; objItem.Size &amp; &quot; &quot; &amp; tp
Next</code></pre></div><p>Удаление файла из архива:<br /></p><div class="codebox"><pre><code>Set objZip = CreateObject(&quot;XStandard.Zip&quot;)
objZip.Delete &quot;files/subfolder/steam1.jpg&quot;, &quot;C:\Temp\test.zip&quot;</code></pre></div><p>Перемещение/переименование файла внутри архива:<br /></p><div class="codebox"><pre><code>Set objZip = CreateObject(&quot;XStandard.Zip&quot;)
objZip.Move &quot;files/subfolder/steam2.jpg&quot;, &quot;files/steam1.jpg&quot;, &quot;C:\Temp\test.zip&quot;</code></pre></div><p>Обработка ошибок:<br /></p><div class="codebox"><pre><code>Set objZip = CreateObject(&quot;XStandard.Zip&quot;)
WScript.Echo objZip.Version
objZip.Pack &quot;C:\Temp\some.jpg&quot;, &quot;C:\Temp\test.zip&quot;
WScript.Echo objZip.ErrorCode  &amp; &quot; &quot; &amp; objZip.ErrorDescription</code></pre></div>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2009-02-25T10:57:03Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=19988#p19988</id>
		</entry>
</feed>
