<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: архивирование файла после его создания]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5638</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5638&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: архивирование файла после его создания».]]></description>
		<lastBuildDate>Thu, 24 Mar 2011 15:15:44 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: архивирование файла после его создания]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=46779#p46779</link>
			<description><![CDATA[<p>Если логи пишутся в папку, и больше никто в эту папку не пишет, то в упомянутом Xameleon-ом примере написано как отслеживать появление нового файла в папке. При появлении нового файла остаётся найти в папке файл размером более 95Мб(например - ведь лог до 100Мб пишется?). Дополнительно можно проверить время последнего изменения этого файла(ведь перед созданием нового лог-файла в старый что-то писалось) - DateLastModified. Вот и имя файла есть.</p><p>Проверить не занят ли файл можно, как Вы и предложили, переименованем(в самого себя <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />):<br /></p><div class="codebox"><pre><code>Function IsFileLocked(f_path, f_file) &#039; проверка не занят ли файл другой программой
 Dim f_fso, f_f
 Set f_fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
 Set f_f = f_fso.GetFile(f_fso.BuildPath(f_path, f_file))
 wscript.echo f_f.path
 on error resume next
 err.Clear
 f_f.Move f_fso.BuildPath(f_path, f_file)
 wscript.echo err.Number
 wscript.echo err.Description
 &#039; 70 - разрешение отклонено
 &#039; 0 - выполнено успешно
 if err.Number = 0 then
   IsFileLocked = false
  else
   IsFileLocked = true
 end if
 err.Clear
 on error goto 0
 Set f_fso = Nothing
 Set f_f = Nothing
end function</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (BeS Yara)]]></author>
			<pubDate>Thu, 24 Mar 2011 15:15:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=46779#p46779</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: архивирование файла после его создания]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=46777#p46777</link>
			<description><![CDATA[<p>Один из вариантов<br /><a href="http://forum.script-coding.com/viewtopic.php?id=518">VBScript: слежение за созданием файлов в указанном каталоге</a></p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Thu, 24 Mar 2011 15:04:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=46777#p46777</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: архивирование файла после его создания]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=46770#p46770</link>
			<description><![CDATA[<p>Я наверно не совсем понятно объяснил -<br />приложение работает постоянно, т.е процесс постоянно висит.<br />Приложение создает файл nameaplication_yyyymmdd_hhmmss_mls.log,пишет в него логи и по достижению этим файлом 100мб закрывает его и создает следующий,плюс к этому приложение ротирует эти&nbsp; файлы, но&nbsp; время в течении которого файл не затрется- меньше суток,<br />т.е сделать архивацию по расписанию(например раз в сутки ) нельзя. Хотелось бы чтобы скрипт мониторил создание , последующее окончание работы приложения с файлом и архивировал его. Неизвестность имени создаваемого файла как я понимаю не позволяет решить задачу с помощью bat, а дальше этой технологии&nbsp; мои познания написания скриптов =0. Если можете подскажите по пунктам <br />- vbs позволяет мониторить появление файла ?<br />- при этом если имя файла неизвестно?<br />- можно ли проверить что файл не используется(не по имени процесса), например переименованием(в тоже время заранее неизвесно имя файла)</p>]]></description>
			<author><![CDATA[null@example.com (aklip)]]></author>
			<pubDate>Thu, 24 Mar 2011 13:54:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=46770#p46770</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: архивирование файла после его создания]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=46754#p46754</link>
			<description><![CDATA[<p><strong>aklip</strong>, не совсем понял как предполагается следить за &quot;приложение закончит работу с этим файлом&quot;. Если вы запускаете это приложение то например через<br /></p><div class="codebox"><pre><code>Set WshShell = CreateObject(&quot;WScript.Shell&quot;)
WshShell.Run &quot;prog.exe&quot;,0,True
&#039;Скрипт продолжится после завершения работы приложения</code></pre></div><p>тогда всё довольно просто. Если же приложение запускается без вашего ведома (не вашим скриптом или программой), то следить за окончанием его работы можно через WMI. Т.е проверяя список процессов.</p><p>Архивирование можно организовать через средства Windows XP</p><p>пример: <a href="http://forum.script-coding.com/viewtopic.php?id=296">http://forum.script-coding.com/viewtopic.php?id=296</a></p><p>либо через консольный вариант <strong>winrar</strong>. Список его команд можно посмотреть в консоли</p><p>пример: <a href="http://forum.script-coding.com/viewtopic.php?id=5338">http://forum.script-coding.com/viewtopic.php?id=5338</a></p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Thu, 24 Mar 2011 12:13:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=46754#p46754</guid>
		</item>
		<item>
			<title><![CDATA[VBS: архивирование файла после его создания]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=46752#p46752</link>
			<description><![CDATA[<p>Есть папка- например с:\data, в ней сторонним приложением&nbsp; &nbsp;создаются файлы «nameaplication_yyyymmdd_hhmmss_mls.log», <br />по достижению файлом размера 100мб создается след.файл и т.д. <br />Необходимо сделать архивирование файла сразу после того как приложение закончит работу с этим файлом , и перенос созданного архива по сети.Буду рад получить хоть какую-то информацию</p>]]></description>
			<author><![CDATA[null@example.com (aklip)]]></author>
			<pubDate>Thu, 24 Mar 2011 11:39:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=46752#p46752</guid>
		</item>
	</channel>
</rss>
