<?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=2916</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2916&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: Удаление файлов с завершением процессов.».]]></description>
		<lastBuildDate>Thu, 25 Nov 2010 20:49:23 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42235#p42235</link>
			<description><![CDATA[<p>Ну, да. Это ведь, в принципе, то же самое, только «ручками». А в примере по ссылке делается автоматически: в основной части — перебор всех смонтированных дисков, из них отбираются нужные (и доступные), затем вызывается процедура перебора для корневого каталога диска.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 25 Nov 2010 20:49:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42235#p42235</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42232#p42232</link>
			<description><![CDATA[<p>Понятно. А, например, через маску, если указать - <br /></p><div class="codebox"><pre><code>RecourseDeleteByMask shell.GetFolder(&quot;C:\&quot;), &quot;*.$$$&quot;
RecourseDeleteByMask shell.GetFolder(&quot;D:\&quot;), &quot;*.$$$&quot;
RecourseDeleteByMask shell.GetFolder(&quot;E:\&quot;), &quot;*.$$$&quot;</code></pre></div><p>возможно?</p>]]></description>
			<author><![CDATA[null@example.com (maxv)]]></author>
			<pubDate>Thu, 25 Nov 2010 19:08:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42232#p42232</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42230#p42230</link>
			<description><![CDATA[<p>В «RecourseDeleteByMask» — никак. Этот перебор надо делать снаружи, в основном модуле, наподобие этого: <a href="http://forum.script-coding.com/viewtopic.php?id=2015">VBScript: поиск файла</a>.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 25 Nov 2010 18:44:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42230#p42230</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=42226#p42226</link>
			<description><![CDATA[<p>А каким образом в RecourseDeleteByMask можно указать все DriveType=1? <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> <br />То есть сканирование всех внешних носителей.</p>]]></description>
			<author><![CDATA[null@example.com (maxv)]]></author>
			<pubDate>Thu, 25 Nov 2010 16:50:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=42226#p42226</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41935#p41935</link>
			<description><![CDATA[<p>Угу. Периодически забываю, что не везде поддерживаются маски. File/FolderExists — самое печальное из этого. Приношу свои извинения.</p><p>Тогда без вариантов, дабы избежать плясок с бубном — надо перенести команду удаления внутрь «On Error…» и добавить сразу после неё Err.Clear.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 18 Nov 2010 17:46:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41935#p41935</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41932#p41932</link>
			<description><![CDATA[<p>с </p><div class="codebox"><pre><code>    If objFSO.FileExists(strFullMask) Then
        objFSO.DeleteFile strFullMask, True                              &#039; Удаляем файлы по маске.
    End If</code></pre></div><p>не работает вообще</p>]]></description>
			<author><![CDATA[null@example.com (maxv)]]></author>
			<pubDate>Thu, 18 Nov 2010 16:44:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41932#p41932</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41930#p41930</link>
			<description><![CDATA[<div class="quotebox"><cite>maxv пишет:</cite><blockquote><p>после цикла лучше поставить smile</p></blockquote></div><p>Разве от этого скрипт падать перестанет (если убрать On Error Resume Next)? Посему такой вариант мне не нравится.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 18 Nov 2010 16:24:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41930#p41930</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41929#p41929</link>
			<description><![CDATA[<p>Спасибо, ясно. Правда, дело обстоит несколько иначе: скрипт не «не обрабатывает», а банально падает с ошибкой из-за:<br /></p><div class="quotebox"><cite>DeleteFile Method пишет:</cite><blockquote><p><strong>Remarks</strong><br />An error occurs if no matching files are found. …</p></blockquote></div><p>Тогда, думаю, следует поменять логику таким образом, с:<br /></p><div class="codebox"><pre><code>    objFSO.DeleteFile strFullMask, True                              &#039; Удаляем файлы по маске.</code></pre></div><p>на:<br /></p><div class="codebox"><pre><code>    If objFSO.FileExists(strFullMask) Then
        objFSO.DeleteFile strFullMask, True                              &#039; Удаляем файлы по маске.
    End If</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 18 Nov 2010 16:22:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41929#p41929</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41928#p41928</link>
			<description><![CDATA[<p>objFSO.DeleteFile strFullMask, True</p><p>после цикла лучше поставить <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><div class="codebox"><pre><code>Option Explicit

Dim objFSO

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

RecourseDeleteByMask objFSO.GetFolder(&quot;D:\111111&quot;), &quot;*.cdx&quot;

Set objFSO = Nothing

WScript.Quit 0
&#039;=============================================================================
Sub RecourseDeleteByMask(objFolder, strMask)
    Dim objSubFolder
    Dim strFullMask
    
    WScript.Echo objFolder.Path                                      &#039; Выводим путь обрабатываемой папки (для
                                                                     &#039; отладки; имеет смысл закомментировать).
    
    strFullMask = objFSO.BuildPath(objFolder.Path, strMask)          &#039; Строим полный путь.
    
    On Error Resume Next                                             &#039; Обрабатываем ошибки, возможные в случае,
                                                                     &#039; когда нет доступа к содержимому папки
                                                                     &#039; (пример - «System Volume Information».
    For Each objSubFolder In objFolder.SubFolders
        If Err.Number = 0 Then                                       &#039; Удалось получить доступ к содержимому папки?
            RecourseDeleteByMask objSubFolder, strMask               &#039; Вызываем процедуру для каждой из подпапок.
        Else                                                         &#039; Если не удалось —
            Err.Clear                                                &#039; сбрасываем состояние ошибки и движемся дальше.
            WScript.Echo &quot;Can&#039;t enumerate subfolders for folder [&quot; &amp; objFolder.Path &amp; &quot;].&quot;
        End If
    Next

    objFSO.DeleteFile strFullMask, True                              &#039; Удаляем файлы по маске.
    
    On Error Goto 0                                                  &#039; Восстанавливаем стандартную обработку ошибок
End Sub</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (maxv)]]></author>
			<pubDate>Thu, 18 Nov 2010 16:12:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41928#p41928</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41926#p41926</link>
			<description><![CDATA[<p><strong>#16 </strong></p><div class="codebox"><pre><code>Option Explicit

Dim objFSO

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

RecourseDeleteByMask objFSO.GetFolder(&quot;D:\111111&quot;), &quot;*.cdx&quot;

Set objFSO = Nothing

WScript.Quit 0
&#039;=============================================================================
Sub RecourseDeleteByMask(objFolder, strMask)
    Dim objSubFolder
    Dim strFullMask
    
    WScript.Echo objFolder.Path                                      &#039; Выводим путь обрабатываемой папки (для
                                                                     &#039; отладки; имеет смысл закомментировать).
    
    strFullMask = objFSO.BuildPath(objFolder.Path, strMask)          &#039; Строим полный путь.
    
    objFSO.DeleteFile strFullMask, True                              &#039; Удаляем файлы по маске.
    
    On Error Resume Next                                             &#039; Обрабатываем ошибки, возможные в случае,
                                                                     &#039; когда нет доступа к содержимому папки
                                                                     &#039; (пример - «System Volume Information».
    For Each objSubFolder In objFolder.SubFolders
        If Err.Number = 0 Then                                       &#039; Удалось получить доступ к содержимому папки?
            RecourseDeleteByMask objSubFolder, strMask               &#039; Вызываем процедуру для каждой из подпапок.
        Else                                                         &#039; Если не удалось —
            Err.Clear                                                &#039; сбрасываем состояние ошибки и движемся дальше.
            WScript.Echo &quot;Can&#039;t enumerate subfolders for folder [&quot; &amp; objFolder.Path &amp; &quot;].&quot;
        End If
    Next
    
    On Error Goto 0                                                  &#039; Восстанавливаем стандартную обработку ошибок
End Sub</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (maxv)]]></author>
			<pubDate>Thu, 18 Nov 2010 16:04:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41926#p41926</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41925#p41925</link>
			<description><![CDATA[<p><strong>maxv</strong>, какой именно скрипт: укажите пост со скриптом, к которому относится Ваше сообщение.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 18 Nov 2010 15:58:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41925#p41925</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=41922#p41922</link>
			<description><![CDATA[<p><strong>Данный скрипт работает при условии, если найден файл в корне, то происходит обработка в подпапках.<br />Если в корне фалов по маске не найдено, то подпапки скрипт не обрабатывает.</strong></p>]]></description>
			<author><![CDATA[null@example.com (maxv)]]></author>
			<pubDate>Thu, 18 Nov 2010 15:29:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=41922#p41922</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=20737#p20737</link>
			<description><![CDATA[<p>о )) спасибо большое )</p>]]></description>
			<author><![CDATA[null@example.com (Arlekin_s)]]></author>
			<pubDate>Mon, 16 Mar 2009 10:30:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=20737#p20737</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=20735#p20735</link>
			<description><![CDATA[<p>Правильно ругается. Пишите так:<br /></p><div class="codebox"><pre><code>RecourseDeleteByMask objFSO.GetFolder(&quot;D:\111111&quot;), &quot;*.cdx&quot;
RecourseDeleteByMask objFSO.GetFolder(&quot;D:\111111&quot;), &quot;*.dbf&quot;</code></pre></div><p>Или надо менять саму функцию «RecourseDeleteByMask» для поддержки множественных масок.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 16 Mar 2009 10:16:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=20735#p20735</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Удаление файлов с завершением процессов.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=20733#p20733</link>
			<description><![CDATA[<p>ну я имел ввиду что одного типа файлов. т.е. если я пишу</p><div class="codebox"><pre><code>RecourseDeleteByMask objFSO.GetFolder(&quot;D:\111111&quot;), &quot;*.cdx, *.dbf&quot;</code></pre></div><p>то он ругается вот на эту строку. <br /></p><div class="codebox"><pre><code>objFSO.DeleteFile strFullMask, True</code></pre></div><p>Не может найти файл.</p>]]></description>
			<author><![CDATA[null@example.com (Arlekin_s)]]></author>
			<pubDate>Mon, 16 Mar 2009 10:08:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=20733#p20733</guid>
		</item>
	</channel>
</rss>
