<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5457&amp;type=atom" />
	<updated>2011-12-08T11:00:58Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5457</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54357#p54357" />
			<content type="html"><![CDATA[<p>Добрый день.<br /></p><div class="quotebox"><cite>Francyz пишет:</cite><blockquote><p>Сейчас выдалась опять эта ошибка, в текстовый записался пусть, на котором он остановился<br />C:\Documents and Settings\All Users\Application Data\Kaspersky Lab\AVP60MP4\Data\Updater\Temporary Files\temporaryFolder\bases\ids\ForDiff</p><p>Непонятно почему он прервался и отобразилась ошибка. В скрипте же вроде указано чтобы он игнорировал ошибки и продолжал работу.</p></blockquote></div><p>Ошибка 800A0035, как и указано в описании, сообщает об отутствии файла. В стр. 40 происходит попытка удаления файла - лучше в лог писать именно полное имя файла(strFullMask) а не папки. У меня уже KES, но пути те же и в данной папке расположен единственный файл ah-0607g.xml.dif. Это имя не подпадает ни под одну из указанных при первом вызове процедуры масок. Что-то мне подсказывает, что ошибка происходит при <br />strFullMask = &quot;C:\Documents and Settings\All Users\Application Data\Kaspersky Lab\AVP60MP4\Data\Updater\Temporary Files\temporaryFolder\bases\ids\ForDiff\*.log&quot;, т.е. ошибка при первом вызове процедуры(когда удаляются не все файлы, а по конкретной маске).<br />Возникновение ошибки вполне закономерно. Странно что игнорируется &quot;On Error Resume Next&quot;... Похожее поведение <a href="http://www.sql.ru/forum/actualthread.aspx?tid=186871">описано</a> при использовании обработчика ошибок, но к &quot;On Error Resume Next&quot;, как мне кажется, это не подходит. Однако, может быть стоит отключать игнорирование ошибок перед рекурсивным вызовом? Могу ошибаться, в &quot;искусственных&quot; условиях имитировать такое поведение для &quot;On Error Resume Next&quot; я не смог, но вдруг поможет?</p><p>Не пойму смысла этого фрагмента:<br /></p><div class="codebox"><pre><code>
    Err.Clear
    For Each objSubFolder In objFolder.SubFolders
        If Err.Number = 0 Then
            RecourseDeleteByMask objSubFolder, strMasks
        Else
            Err.Clear
        End If
    Next</code></pre></div><p>Сначала сбросили все ошибки, а потом проверяем &quot;если ошибок нет, то ...&quot; - зачем? objFolder у нас имеется, и даже если подпапок там нет objFolder.SubFolders вернёт Folders а не ошибку.</p><p>Может быть заменить этот кусок на такой?<br /></p><div class="codebox"><pre><code>
    Err.Clear
    On Error GoTo 0
    For Each objSubFolder In objFolder.SubFolders
            RecourseDeleteByMask objSubFolder, strMasks
    Next</code></pre></div><div class="quotebox"><cite>Francyz пишет:</cite><blockquote><p>сделал так чтобы записывался путь, который в данный момент обрабатывается, но проблема в том, что в текстовом он заменяется</p></blockquote></div><p>Чтобы логфайл не перезаписывался, нужно всё-таки использовать fso.OpenTextFile(как Вы изначально и писали), а не CreateTextFile(с учётом второго параметра он естественно создаётся поверх имеющегося). И наверное лучше открыть файл один раз, при старте скрипта, а дальше уже только писать туда. В конце работы скрипта файл закрыть.<br />Вместо &quot;ts.Write sData &amp; chr(13) &amp; chr(10)&quot; проще будет &quot;ts.WriteLine sData&quot;. Также вместо &quot;chr(13) &amp; chr(10)&quot; можно использовать vbCrLf.</p><div class="quotebox"><cite>pushok.88 пишет:</cite><blockquote><p>Честно, всю голову сломал, но так и не понял каким образом воплотить данную идею.<br />Я понимаю, что надо использовать DateLastModified, но как это реализовать в данном коде не имею понятия.</p></blockquote></div><p>Пример работы с &quot;возрастом&quot; файла:<br /></p><div class="codebox"><pre><code>
Dim fso
Set fso = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
Dim File
For Each File in fso.GetFolder(&quot;d:\aScripts\vbs\tmp\&quot;).Files
  If DateDiff(&quot;d&quot;, File.DateLastModified, Now) &gt; 7 then &#039;если возраст более 7 дней
    &#039;удаляем/копируем/покоряем мир
  End If
Next</code></pre></div><p>Разницу между &quot;d&quot; и &quot;y&quot; не понял - для файла 2009-го года и для файла текущего года оба варианта дают одинаковый результат. Похоже разницы нет:<br /></p><div class="quotebox"><blockquote><p>To calculate the number of days between date1 and date2, you can use either Day of year (&quot;y&quot;) or Day (&quot;d&quot;).</p></blockquote></div><p>С предложением <strong>alexii</strong> я согласен - лучше перебирать файлы в папке и обрабатывать каждый по необходимым критериям.</p><p>P.S. Учитывая вызов процедуры для конкретных папок профиля, я не вижу смысла в рекурсивной чистке начиная с корня диска. Лучше натравливать скрипт на известные места скопления временных файлов, чем обрабатывать весь диск, рискуя удалить что-то, что удалять не следует.<br />P.P.S. Наткнулся на сайт с описанием ошибок - <a href="http://www.computerperformance.co.uk/Logon/code/index.htm">Code 800 Errors in VBScript / WSH</a>, может кому-то будет полезен. Ну и <a href="http://msdn.microsoft.com/en-us/library/aa264975(VS.60).aspx">MSDN:Core Visual Basic Language Errors</a>(это VB6, но думаю и для VBS они же будут).</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-12-08T11:00:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54357#p54357</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54267#p54267" />
			<content type="html"><![CDATA[<p>Лично я предположил сначала, что: 1. теряется связь с удаленной папкой (- пинг всегда между этими ПК постоянен?), 2. Пользователь не имеет нужных прав для осуществления операции (тогда что же делать с непостоянством ошибки??),<br />но это не так, т.к. прочитал весь скрипт и дошел до строки номер40.</p><p>т.к. 1С у меня нет - протестить скрипт наверное не получится у себя...</p><p>подумал.. еще возможно такое - кеш юзера чистый... редкость конечно, но такое тоже бывает<br />или файл используется приложением и не может быть удален, например, при обращении скрипта к файлу его начинает мониторить антивирус и скрипт так реагирует на невозможность удаления из-за проверки на лету антивирусом.. </p><p>Необходимо найти причину по примеру метода от противного, замечательный метод! (отключить 1, потом сделать так-то.. и т.д. пока не останется ничего что еще можно сделать), в сложных ситуациях (запутанных) этот метод мне помогал.<br />Предлагаю смодулировать искусственно ситуацию для распознования ошибки - разные атрибуты на файлы, один открыть в редакторе и держать его при запуске скрипта и т.п.</p><p>Вопрос: а зачем чистить временные файлы анивируса? Очень часто антивирус не дает права на их удаление..<br />Вопрос2: не проще ли было установить батник каждому на ПК с функией очистки нужных папок, это все делается локально - меньше сбоев при отработке? Батники также можно обновлять в системе и системно, если это предусмотреть заранее...</p>]]></content>
			<author>
				<name><![CDATA[stir]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26486</uri>
			</author>
			<updated>2011-12-05T06:23:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54267#p54267</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54142#p54142" />
			<content type="html"><![CDATA[<p>Использовать переменную окружения «%UserProfile%\…».</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-12-02T12:31:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54142#p54142</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54140#p54140" />
			<content type="html"><![CDATA[<p>Понятно, но тогда у меня другой вопрос. Как прописать, чтобы скрипт смотрел в папку по пути &quot;C:\Documents and Settings\ТОЛЬКО ЗАЛОГИНЕНЫЙ ПОЛЬЗОВАТЕЛЬ\Local Settings\Application Data\1\2\&quot;???</p>]]></content>
			<author>
				<name><![CDATA[pushok.88]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27390</uri>
			</author>
			<updated>2011-12-02T12:10:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54140#p54140</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54138#p54138" />
			<content type="html"><![CDATA[<p>Можно и подкорректировать.</p><p>Корректировать придётся следующее:</p><p>* убрать удаление по маске;<br />* сделать перебор всех файлов в папке;<br />* сверять каждый файл посредством регулярных выражений с маской; при совпадении — сравнивать дату модификации файла с текущей датой и при разнице, большей заданной, удалять файл.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-12-02T11:37:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54138#p54138</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54137#p54137" />
			<content type="html"><![CDATA[<p>Может конечно данный способ и лучше, но меня интересовала возможность подкорректировать код именно стандартными функциями.</p>]]></content>
			<author>
				<name><![CDATA[pushok.88]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27390</uri>
			</author>
			<updated>2011-12-02T11:18:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54137#p54137</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54136#p54136" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>pushok.88 пишет:</cite><blockquote><p>Краткость-сестра таланта.)))</p></blockquote></div><p>Каков вопрос — таков ответ.</p><p>Я бы Вам предложил посмотреть в сторону <a href="http://technet.microsoft.com/ru-ru/scriptcenter/dd919274">LogParser&#039;а</a>:<br /></p><div class="codebox"><pre><code>LogParser.exe &quot;SELECT LastWriteTime, Path FROM C:\*.log, C:\*.tmp, c:\cache.*, c:\LocalCache* WHERE SUB(TO_LOCALTIME(SYSTEM_TIMESTAMP()), LastWriteTime) &gt; TIMESTAMP(&#039;7&#039;, &#039;d&#039;)&quot; -i:FS -rtp:-1</code></pre></div><p>Посмотрев, как сие работает, Вам останется только написать что-то наподобие:<br /></p><div class="codebox"><pre><code>for /f &quot;delims=&quot; %%i in (&#039;LogParser.exe &quot;SELECT Path FROM C:\*.log, C:\*.tmp, c:\cache.*, c:\LocalCache* WHERE SUB(TO_LOCALTIME(SYSTEM_TIMESTAMP()), LastWriteTime) &gt; TIMESTAMP(&#039;7&#039;, &#039;d&#039;)&quot; -i:FS -o:CSV -q:on -oDQuotes:on -oCodepage:866&#039;) do del /f /q &quot;%%~i&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-12-02T10:48:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54136#p54136</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54135#p54135" />
			<content type="html"><![CDATA[<p>Краткость-сестра таланта.))) Но хотелось бы еще понять, каким образом?</p><p>Вот допустим код:<br /></p><div class="codebox"><pre><code>Option Explicit &#039;: On Error Resume Next
Dim objFSO, FolderX

Set objFSO = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)

RecourseDeleteByMask objFSO.GetFolder(&quot;c:\&quot;), Array(&quot;*.log&quot;,&quot;*.tmp&quot;,&quot;cache.*&quot;,&quot;LocalCache&quot;)

For Each FolderX In objFSO.GetFolder(&quot;c:\Documents and Settings\&quot;).SubFolders
    if objFSO.FolderExists(FolderX.Path&amp;&quot;\Local Settings\Temp&quot;) then
        RecourseDeleteByMask objFSO.GetFolder(FolderX.Path &amp;&quot;\Local Settings\Temp\&quot;), Array(&quot;*.*&quot;)
    end if
Next

Set objFSO = Nothing
WScript.Quit 0

&#039;=============================================================================
Sub RecourseDeleteByMask(objFolder, strMasks)
    Dim objSubFolder, strFullMask, strMask, tf, fso
    On Error Resume Next
    For each strMask in strMasks
        strFullMask = objFSO.BuildPath(objFolder.Path, strMask)

   objFSO.DeleteFile strFullMask, True
    Next

    Err.Clear
    For Each objSubFolder In objFolder.SubFolders
        If Err.Number = 0 Then
            RecourseDeleteByMask objSubFolder, strMasks
        Else
            Err.Clear 
        End If
    Next
End Sub
&#039;=============================================================================</code></pre></div><p>Честно, всю голову сломал, но так и не понял каким образом воплотить данную идею.<br />Я понимаю, что надо использовать DateLastModified, но как это реализовать в данном коде не имею понятия.</p>]]></content>
			<author>
				<name><![CDATA[pushok.88]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27390</uri>
			</author>
			<updated>2011-12-02T10:00:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54135#p54135</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54134#p54134" />
			<content type="html"><![CDATA[<p>Можно.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-12-02T09:22:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54134#p54134</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=54133#p54133" />
			<content type="html"><![CDATA[<p>А кто нибудь может подсказать, можно ли в приведенном коде удалять файлы с заданным расширением, но только которые старше недели?</p>]]></content>
			<author>
				<name><![CDATA[pushok.88]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27390</uri>
			</author>
			<updated>2011-12-02T08:21:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=54133#p54133</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=44938#p44938" />
			<content type="html"><![CDATA[<p>Сейчас выдалась опять эта ошибка, в текстовый записался пусть, на котором он остановился<br />C:\Documents and Settings\All Users\Application Data\Kaspersky Lab\AVP60MP4\Data\Updater\Temporary Files\temporaryFolder\bases\ids\ForDiff</p><p>Непонятно почему он прервался и отобразилась ошибка. В скрипте же вроде указано чтобы он игнорировал ошибки и продолжал работу.</p>]]></content>
			<author>
				<name><![CDATA[Francyz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25926</uri>
			</author>
			<updated>2011-02-07T08:11:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=44938#p44938</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=44838#p44838" />
			<content type="html"><![CDATA[<p>Я сделал так чтобы записывался путь, который в данный момент обрабатывается, но проблема в том, что в текстовом он заменяется. В принципе я увижу где выходит ошибка, когда она появится в текстовом будет тот путь, где скрипт остановился, но хотелось бы видеть, какие папки он прошел. Помогите подправить скрипт чтобы в текстовом строки плюсовались, а не затирались на новые</p><div class="codebox"><pre><code>Option Explicit &#039;: On Error Resume Next
Dim objFSO, FolderX

Set objFSO = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)

RecourseDeleteByMask objFSO.GetFolder(&quot;c:\&quot;), Array(&quot;*.log&quot;,&quot;*.tmp&quot;,&quot;cache.*&quot;,&quot;LocalCache&quot;)

For Each FolderX In objFSO.GetFolder(&quot;c:\Documents and Settings\&quot;).SubFolders
    if objFSO.FolderExists(FolderX.Path&amp;&quot;\Local Settings\Temp&quot;) then
        RecourseDeleteByMask objFSO.GetFolder(FolderX.Path &amp;&quot;\Local Settings\Temp\&quot;), Array(&quot;*.*&quot;)
    end if
Next
For Each FolderX In objFSO.GetFolder(&quot;c:\Documents and Settings\&quot;).SubFolders
    if objFSO.FolderExists(FolderX.Path&amp;&quot;\Application Data\1C\1Cv82&quot;) then
        RecourseDeleteByMask objFSO.GetFolder(FolderX.Path &amp;&quot;\Application Data\1C\1Cv82\&quot;), Array(&quot;*.*&quot;)
    end if
Next

For Each FolderX In objFSO.GetFolder(&quot;c:\Documents and Settings\&quot;).SubFolders
    if objFSO.FolderExists(FolderX.Path&amp;&quot;\Local Settings\Application Data\1C\1Cv82&quot;) then
        RecourseDeleteByMask objFSO.GetFolder(FolderX.Path &amp;&quot;\Local Settings\Application Data\1C\1Cv82\&quot;), Array(&quot;*.*&quot;)
    end if
Next

For Each FolderX In objFSO.GetFolder(&quot;c:\Documents and Settings\&quot;).SubFolders
    if objFSO.FolderExists(FolderX.Path&amp;&quot;\Local Settings\Termorary Internet Files&quot;) then
    RecourseDeleteByMask objFSO.GetFolder(FolderX.Path &amp;&quot;\Local Settings\Termorary Internet Files\&quot;), Array(&quot;*.*&quot;)
    end if
Next

Set objFSO = Nothing
WScript.Quit 0

&#039;=============================================================================
Sub RecourseDeleteByMask(objFolder, strMasks)
    Dim objSubFolder, strFullMask, strMask, tf, fso
    On Error Resume Next
    For each strMask in strMasks
        strFullMask = objFSO.BuildPath(objFolder.Path, strMask)

&#039;-----------Запись в файл-----------
    Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
    Set tf = fso.CreateTextFile(&quot;c:\testfile.txt&quot;, True)
    tf.WriteLine(objFolder) 
    tf.Close
&#039;----------------------------------------

        objFSO.DeleteFile strFullMask, True
    Next

    Err.Clear
    For Each objSubFolder In objFolder.SubFolders
        If Err.Number = 0 Then
            RecourseDeleteByMask objSubFolder, strMasks
        Else
            Err.Clear 
        End If
    Next
End Sub
&#039;=============================================================================</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Francyz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25926</uri>
			</author>
			<updated>2011-02-04T11:49:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=44838#p44838</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=44800#p44800" />
			<content type="html"><![CDATA[<p>Я правильно понял, что можно добавить <br /></p><div class="codebox"><pre><code>Sub log(sData)
    Dim ts, ForAppending
    ForAppending = 8
    Set ts = fso.OpenTextFile(&quot;log.txt&quot;, ForAppending, True)
    ts.Write sData &amp; chr(13) &amp; chr(10)
    ts.Close
End Sub</code></pre></div><p>А в свой цикл после RecourseDeleteByMask&nbsp; вставить вызов log( folder.Path ) ?</p>]]></content>
			<author>
				<name><![CDATA[Francyz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25926</uri>
			</author>
			<updated>2011-02-03T13:59:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=44800#p44800</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=44791#p44791" />
			<content type="html"><![CDATA[<p>Пишите прохождение каждого вызова «RecourseDeleteByMask()» в файл, отслеживайте, что не проходит, ищите разницу.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-02-03T12:23:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=44791#p44791</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Ошибка при запуске скрипта (команда DeleteFile)]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=44774#p44774" />
			<content type="html"><![CDATA[<p>Я убрал похожие строки с условием, чтобы не &quot;мазолили&quot; глаза. Вот полная версия:</p><div class="codebox"><pre><code>Option Explicit &#039;: On Error Resume Next
Dim objFSO, FolderX

Set objFSO = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)

RecourseDeleteByMask objFSO.GetFolder(&quot;c:\&quot;), Array(&quot;*.log&quot;,&quot;*.tmp&quot;,&quot;cache.*&quot;,&quot;LocalCache&quot;)

For Each FolderX In objFSO.GetFolder(&quot;c:\Documents and Settings\&quot;).SubFolders
    if objFSO.FolderExists(FolderX.Path&amp;&quot;\Local Settings\Temp&quot;) then
        RecourseDeleteByMask objFSO.GetFolder(FolderX.Path &amp;&quot;\Local Settings\Temp\&quot;), Array(&quot;*.*&quot;)
    end if
Next
For Each FolderX In objFSO.GetFolder(&quot;c:\Documents and Settings\&quot;).SubFolders
    if objFSO.FolderExists(FolderX.Path&amp;&quot;\Application Data\1C\1Cv82&quot;) then
        RecourseDeleteByMask objFSO.GetFolder(FolderX.Path &amp;&quot;\Application Data\1C\1Cv82\&quot;), Array(&quot;*.*&quot;)
    end if
Next

For Each FolderX In objFSO.GetFolder(&quot;c:\Documents and Settings\&quot;).SubFolders
    if objFSO.FolderExists(FolderX.Path&amp;&quot;\Local Settings\Application Data\1C\1Cv82&quot;) then
        RecourseDeleteByMask objFSO.GetFolder(FolderX.Path &amp;&quot;\Local Settings\Application Data\1C\1Cv82\&quot;), Array(&quot;*.*&quot;)
    end if
Next

For Each FolderX In objFSO.GetFolder(&quot;c:\Documents and Settings\&quot;).SubFolders
    if objFSO.FolderExists(FolderX.Path&amp;&quot;\Local Settings\Termorary Internet Files&quot;) then
    RecourseDeleteByMask objFSO.GetFolder(FolderX.Path &amp;&quot;\Local Settings\Termorary Internet Files\&quot;), Array(&quot;*.*&quot;)
    end if
Next

Set objFSO = Nothing
WScript.Quit 0

&#039;=============================================================================
Sub RecourseDeleteByMask(objFolder, strMasks)
    Dim objSubFolder, strFullMask, strMask
    On Error Resume Next
    For each strMask in strMasks
        strFullMask = objFSO.BuildPath(objFolder.Path, strMask)
        objFSO.DeleteFile strFullMask, True
    Next

    Err.Clear
    For Each objSubFolder In objFolder.SubFolders
        If Err.Number = 0 Then
            RecourseDeleteByMask objSubFolder, strMasks
        Else
            Err.Clear 
        End If
    Next
End Sub
&#039;=============================================================================</code></pre></div><p>Ошибка выходит рандомно, если запускать вручную то все работает нормально. Когда ставишь в автозапуск, тоже самое, у некоторых есть у некоторых нету.</p>]]></content>
			<author>
				<name><![CDATA[Francyz]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25926</uri>
			</author>
			<updated>2011-02-03T08:46:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=44774#p44774</id>
		</entry>
</feed>
