<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; WSH: архивация файлов средствами WinOS]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6982&amp;type=atom" />
	<updated>2012-03-28T02:17:35Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=6982</id>
		<entry>
			<title type="html"><![CDATA[Re: WSH: архивация файлов средствами WinOS]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58489#p58489" />
			<content type="html"><![CDATA[<p><strong>Lucky</strong>, не переживайте, при работе с архивом — никак не избавитесь. Обсуждалось на моей памяти раза три.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-03-28T02:17:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58489#p58489</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: архивация файлов средствами WinOS]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58467#p58467" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Flasher пишет:</cite><blockquote><p>toZipFile.CopyHere inObj<strong>, 4</strong><br />В справке всё <a href="http://script-coding.com/WSH/Shell.html#4.3.2.">написано</a>.</p></blockquote></div><p>Увы, но у меня выходит окно сжатия, может я что-то делаю не так? - <img src="//forum.script-coding.com/img/smilies/roll.png" width="15" height="15" /> не могли бы вы проверить это действие у себя..? (имею ввиду именно сжатие в zip, а не простое копирование в папку)</p>]]></content>
			<author>
				<name><![CDATA[Lucky]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25698</uri>
			</author>
			<updated>2012-03-27T15:49:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58467#p58467</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: архивация файлов средствами WinOS]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58370#p58370" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Lucky пишет:</cite><blockquote><p>Второй вопрос по поводу самого процесса архивирования: начиная с некоторого объёма файла, выходит окно процесса сжатия. Нельзя ли как-нибудь без него (поменять режим там или еще что-нибудь подобное, средствами того же wsh)?</p></blockquote></div><p>toZipFile.CopyHere inObj<strong>, 4</strong><br />В справке всё <a href="http://script-coding.com/WSH/Shell.html#4.3.2.">написано</a>.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2012-03-26T00:04:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58370#p58370</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: WSH: архивация файлов средствами WinOS]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58211#p58211" />
			<content type="html"><![CDATA[<p>Некоторое время назад было обсуждение сходного функционала, но реализованного на JScript. </p><p>Однако поиском я ее не нашел, видимо она попала под нещадный нож резчиков форума. По какому критерию - не понятно. </p><p>Текст библиотеки можно посмотреть здесь - <a href="http://code.google.com/p/jsxt/source/browse/trunk/js/win32/ZipFile.js">http://code.google.com/p/jsxt/source/br … ZipFile.js</a></p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-03-22T09:06:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58211#p58211</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[WSH: архивация файлов средствами WinOS]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58202#p58202" />
			<content type="html"><![CDATA[<p>Доброго времени суток, коллеги! Прекрасна возможность создания архивов штатными средствами ОС и тому пример из коллекции <a href="http://forum.script-coding.com/viewtopic.php?pid=7358#p7358">WSH: архивация файлов средствами операционной системы (WinXP)</a>, и я им пользуюсь (#2).<br />На практике же либо для удобства, либо под конкретные случаи чаще приходится подтачивать примеры... Так вот тут-то и возникает необходимость разбирать образцы &quot;по молекулам&quot;. И мне не понятна необходимость проверки <em>IsObject(Wscript)</em> в функции <em>CloseArchive</em>, при том что в успехе все остальные (<em>WsriptShell, FileSystemObject, Shell</em>). В каких случаях <em>IsObject(Wscript)</em> дает результат <em>false</em>?</p><p>Второй вопрос по поводу самого процесса архивирования: начиная с некоторого объёма файла, выходит окно процесса сжатия. Нельзя ли как-нибудь без него (поменять режим там или еще что-нибудь подобное, средствами того же wsh)? Помнится мне, такое уже обсуждалось когда-то на форуме, но еще до переезда и чистки, чем же всё закончилось?</p><p>И наконец, при использовании обнаружил немаловажный, на мой взгляд, недочёт. Проявляется он при добавлении в архив более одного файла или папки: функция ожидания добавления объекта в архив теряет свой смысл, т.к. она проверяет наличие лишь одного файла, и тут начинаются проблемы... Если кому интересно или возможно нужно, привожу переделанный скрипт:<br /></p><div class="codebox"><pre><code>set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
set ShApp=CreateObject(&quot;Shell.Application&quot;)

zip=Crzip(Array(&quot;C:\object1&quot;,&quot;C:\object2&quot;),&quot;C:\Archive.zip&quot;)
msgbox &quot;Архив создан: &quot; &amp; vbcrlf&amp; zip
wscript.quit

Function CrZip(inObjs,zipFile)
 IF isArray(inObjs) then
 elseIF FSO.FolderExists(inObjs) or FSO.FileExists(inObjs) Then inObjs=Array(inObjs)
 else
  msgbox &quot;Архив не создан. Не найдены объекты для добавления в архив.&quot;
  wscript.quit
 End IF
 FSO.OpenTextFile(zipFile,2,True).Write(&quot;PK&quot;&amp;Chr(5)&amp;Chr(6)&amp;String(18, 0)) : wscript.sleep 100
 Set toZipFile=Shapp.Namespace(zipFile)
 z=0
 For each inObj in inObjs
  if FSO.FolderExists(inObj) or FSO.FileExists(inObj) then
    toZipFile.CopyHere inObj  
    z=z+1 : Do : Wscript.Sleep 100 : Loop Until toZipFile.Items.Count=&gt;z
  end if
 Next
 If z=0 then
  FSO.DeleteFile zipFile
  msgbox &quot;Архив не создан. Не найдены объекты для добавления в архив.&quot;
  wscript.quit
 End If
 Crzip=zipFile
End Function</code></pre></div><p>Комментируйте, и если сочтёте нужным - в коллекцию.</p>]]></content>
			<author>
				<name><![CDATA[Lucky]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25698</uri>
			</author>
			<updated>2012-03-22T08:04:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58202#p58202</id>
		</entry>
</feed>
