<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: Поиск файлов по маске на диске]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7066&amp;type=atom" />
	<updated>2012-04-21T14:15:01Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7066</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59613#p59613" />
			<content type="html"><![CDATA[<p><strong>SergeyA</strong>, для этого их не нужно искать — достаточно задать параметр рекурсивного просмотра в командной строке при создании архива.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-21T14:15:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59613#p59613</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59612#p59612" />
			<content type="html"><![CDATA[<p>Спасибо, помог, мне не для подсчёта, для быстрого поиска файлов по маске, например найти все *.jpg на диске E:\ добавить их все в архив и удалить</p>]]></content>
			<author>
				<name><![CDATA[SergeyA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27173</uri>
			</author>
			<updated>2012-04-21T13:51:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59612#p59612</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59014#p59014" />
			<content type="html"><![CDATA[<p><strong>SergeyA</strong><br />Я <a href="http://script-coding.com/WSH/Shell.html#5.3.3.">таким</a> методом обычно пользуюсь. Странно, что никто не подсказал. А поиск только для подсчёта нужен или для каких иных целей?</p><p><strong>P.S.</strong> А для консольных окон есть несколько программ-скрывалок (chp, hstart, ConsoleTool, cmdow и т.д.)<br />Ну, и для поиска на всякий случай - <a href="http://www.voidtools.com/es.zip">консольная Everything</a>.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2012-04-08T04:32:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59014#p59014</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58959#p58959" />
			<content type="html"><![CDATA[<p>Решил сделать так:</p><div class="codebox"><pre><code>
Dim oWSH, oExec
Set oWSH = CreateObject(&quot;WScript.Shell&quot;)
Set oExec = oWSH.Exec(&quot;%COMSPEC% /C chcp 1251 &amp;&amp; DIR /B /S C:\h*.exe /A-D &amp;&amp; Exit&quot;)
MsgBox oExec.StdOut.ReadAll</code></pre></div><p>Но совсем не радует появление CMD окна, можно сделать через метод Run, но я не знаю как извлечь данные без создания промежуточного файла, да и ещё проблема здесь с кодировкой, вроде всё правильно а выводит русские символы в Dos кодировке.</p><p>Вот другой вариант, но опять же мешает окно CMD </p><div class="codebox"><pre><code>
Set oWSH = WScript.CreateObject(&quot;WScript.Shell&quot;)
Set oExec = oWSH.Exec(&quot;cmd&quot;)
With oExec.StdIn
    .WriteLine &quot;chcp 1251&quot;
    .WriteLine &quot;DIR /B /S C:\h*.exe /A-D&quot;
    .WriteLine &quot;Exit&quot;
End With

&#039;MsgBox oExec.StdOut.ReadAll

Line = Split(oExec.StdOut.ReadAll, vbCrlf, -1, 1)
For i = 7 to UBound(Line) -3
    MsgBox Line(i)
Next</code></pre></div>]]></content>
			<author>
				<name><![CDATA[SergeyA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27173</uri>
			</author>
			<updated>2012-04-07T06:04:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58959#p58959</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58958#p58958" />
			<content type="html"><![CDATA[<p>Пользуйтесь <a href="http://forum.script-coding.com/viewtopic.php?pid=52625#p52625">этим</a> или, как писал выше, смотрите это: <a href="http://forum.script-coding.com/viewtopic.php?id=3965">JScript: поиск файлов по расширению</a>.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-07T05:53:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58958#p58958</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58957#p58957" />
			<content type="html"><![CDATA[<p>Вот этим пользуюсь:</p><div class="codebox"><pre><code>
Dim fso,mySet,myDir,st
Dim s()
i=0

Dim regEx, Match, Matches, regtxt
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True

mySet=&quot;*.fb2 *.bin *.cue&quot; &#039; Список расширений, которые ищутся

For Each m1 in Split(mySet,&quot; &quot;,-1,1)
    regtxt = regtxt &amp; &quot;\.&quot; &amp; m1 &amp; &quot;$|&quot;
Next
regEx.Pattern = Left(regtxt, Len(regtxt)-1)

myDir=&quot;c:\123&quot; &#039; Путь для поиска

Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)

Sub ListFolder(curDir)
On Error Resume Next
    For Each f1 in fso.GetFolder(curDir).Files
    If Err.Number = 0 Then
            If regEx.Test(f1) Then
                ReDim Preserve s(i+1)
                s(i) = f1.path
                i=i+1
            End If
    End If
    Next
Err.Clear
    For Each s1 in fso.GetFolder(curDir).SubFolders
        If Err.Number = 0 Then
            ListFolder(s1.path)
        End If
    Next
Err.Clear
On Error Goto 0
End Sub

ListFolder(myDir)

For k=0 To i-1
    If Len(&quot;Количество файлов: &quot; &amp; i &amp; vbCrLf &amp; st &amp; k+1 &amp; &quot;) &quot; &amp; s(k) &amp; vbCrLf)&lt;1000 Then
        st=st &amp; k+1 &amp; &quot;) &quot; &amp; s(k) &amp; vbCrLf
    Else
        MsgBox &quot;Количество файлов: &quot; &amp; i &amp; vbCrLf &amp; st
        st=k+1 &amp; &quot;) &quot; &amp; s(k) &amp; vbCrLf
    End If
Next
 
MsgBox &quot;Количество файлов: &quot; &amp; i &amp; vbCrLf &amp; st</code></pre></div>]]></content>
			<author>
				<name><![CDATA[SergeyA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27173</uri>
			</author>
			<updated>2012-04-07T05:51:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58957#p58957</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58956#p58956" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>SergeyA пишет:</cite><blockquote><p>Этот пример … - так он выводит результат 0</p></blockquote></div><p>Какой именно пример? А лучше всего — приведите используемый Вами код.</p><div class="quotebox"><cite>SergeyA пишет:</cite><blockquote><p>Ведь можно же как - то использовать CMD ищет мгновенно</p></blockquote></div><p>Не мгновенно, но можно: <a href="http://forum.script-coding.com/viewtopic.php?id=3965">JScript: поиск файлов по расширению</a>.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-07T05:19:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58956#p58956</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58955#p58955" />
			<content type="html"><![CDATA[<p>Этот пример ищет только по расширениям , а что если я не знаю расширения но знаю часть имени файла например &quot;tem*.*&quot; - так он выводит результат 0</p><p>Хотел спросить, можно ли вкладывать Sub в Function то есть:</p><div class="codebox"><pre><code>Function xxx()
    Sub yyy()
    End Sub
End Function</code></pre></div><p>Ведь можно же как - то использовать CMD ищет мгновенно</p><div class="codebox"><pre><code>
@Echo Off
CHCP 1251
DIR /B /S C:\*.txt;C:\*.jpg /A-D &gt; log.txt
Pause</code></pre></div>]]></content>
			<author>
				<name><![CDATA[SergeyA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27173</uri>
			</author>
			<updated>2012-04-07T04:40:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58955#p58955</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58954#p58954" />
			<content type="html"><![CDATA[<p>Пропустил, не знал что сервер это и есть ПК, спасибо.:)</p>]]></content>
			<author>
				<name><![CDATA[SergeyA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27173</uri>
			</author>
			<updated>2012-04-07T04:37:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58954#p58954</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58953#p58953" />
			<content type="html"><![CDATA[<p>Не верю: <a href="http://forum.script-coding.com/viewtopic.php?id=6335">WSH: Поиск файлов по маске на сервере</a>.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-07T04:33:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58953#p58953</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58952#p58952" />
			<content type="html"><![CDATA[<p>Я искал и не нашёл примера везде производится поиск такого типа &quot;test.txt&quot; или &quot;*.txt&quot; но множественной маски нет либо нет поиска в подкаталогах, может ошибаюсь и пропустил, да и Google мне не помог, поэтому обратился к вам.</p>]]></content>
			<author>
				<name><![CDATA[SergeyA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27173</uri>
			</author>
			<updated>2012-04-07T04:12:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58952#p58952</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58943#p58943" />
			<content type="html"><![CDATA[<p><span style="color: Green"><strong>SergeyA</strong>, добавьте префикс языка в заголовок темы</span> и поищите ещё раз по этому форуму по ключевой фразе «поиск по маске». Я нашёл.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-04-06T20:46:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58943#p58943</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBScript: Поиск файлов по маске на диске]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=58941#p58941" />
			<content type="html"><![CDATA[<p>Облазил интернет, но так и не нашёл примера для поиска файлов по маске в подкаталогах, требуется чтоб функция искала все файлы например по маскам &quot;*.txt;*mp3&quot; или даже так &quot;age*.*;*.mp*&quot; на выбранном диске, например &quot;E:&quot;, пусть даже скоростью не обладает, главное чтоб работала, как такое можно соорудить?</p>]]></content>
			<author>
				<name><![CDATA[SergeyA]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27173</uri>
			</author>
			<updated>2012-04-06T19:29:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=58941#p58941</id>
		</entry>
</feed>
