<?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=5014&amp;type=atom" />
	<updated>2010-10-24T08:13:47Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5014</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: проверка существования файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40782#p40782" />
			<content type="html"><![CDATA[<p>Можно таким вот способом</p><div class="codebox"><pre><code>function FileExistPattern (byval Pattern)

dim File, Proc, Shell
dim Path, Name

set File = CreateObject(&quot;Scripting.FileSystemObject&quot;)
set Shell = CreateObject(&quot;Shell.Application&quot;)

FileExistPattern = False
Path = File.GetParentFolderName(Pattern)
Name = File.GetFileName(Pattern)
if (Len(Path) = 0) then Path = CreateObject(&quot;WScript.Shell&quot;).CurrentDirectory
if (Len(Name) = 0) then exit function
if (not File.FolderExists(Path)) then exit function
set Folders = Shell.NameSpace(Path).Items
if (Folders is nothing) then exit function
Folders.Filter 64, Name
if (Folders.Count = 0) then exit function
FileExistPattern = True

end function</code></pre></div>]]></content>
			<author>
				<name><![CDATA[dichlorvos]]></name>
			</author>
			<updated>2010-10-24T08:13:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40782#p40782</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: проверка существования файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40395#p40395" />
			<content type="html"><![CDATA[<p>Не работает, ошибки не выдет, но и файл не видит.</p>]]></content>
			<author>
				<name><![CDATA[admin-nsk]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26300</uri>
			</author>
			<updated>2010-10-13T06:05:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40395#p40395</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: проверка существования файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40136#p40136" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Все не так просто BPK81 тоже не посстаянное значение это название баз которые перебираются по списку и их названия разные по длине.</p></blockquote></div><p>Тогда в приведенном мной примере замените строку </p><div class="codebox"><pre><code>objRegExp.Pattern = &quot;BPK81_backup_2010_10_08_.+\.bak&quot;</code></pre></div><p>на </p><div class="codebox"><pre><code>objRegExp.Pattern = &quot;.+_backup_2010_10_08_.+\.bak&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[us-us]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=14672</uri>
			</author>
			<updated>2010-10-08T10:48:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40136#p40136</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: проверка существования файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40135#p40135" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Lucky пишет:</cite><blockquote><p>Можно плясать от рекурсивного обхода всех файлов в папке:<br /></p><div class="codebox"><pre><code>Set objFSO = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)

Set Folder=objFSO.GetFolder(&quot;c:\backup\&quot;)

For each file in Folder.Files
    if Left(file.Name,24)=&quot;BPK81_backup_2010_10_08_&quot; and right(file.name,4)=&quot;.bak&quot; then
       msgbox file
    end if
Next</code></pre></div></blockquote></div><p>Все не так просто BPK81 тоже не посстаянное значение это название баз которые перебираются по списку и их названия разные по длине.</p>]]></content>
			<author>
				<name><![CDATA[admin-nsk]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26300</uri>
			</author>
			<updated>2010-10-08T10:44:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40135#p40135</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: проверка существования файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40134#p40134" />
			<content type="html"><![CDATA[<p>Вот тоже метод с рекурсивным перебором и проверкой имени с помощью регулярных выражений:<br /></p><div class="codebox"><pre><code>Option Explicit

Dim objFSO, objRegExp, Path, objFolder, objItem
Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Path = objFSO.GetAbsolutePathName(&quot;&quot;)
Set objFolder = objFSO.GetFolder(Path)
Set objRegExp = CreateObject(&quot;VBScript.RegExp&quot;)
objRegExp.Global = True
objRegExp.Multiline = True
objRegExp.IgnoreCase = True
objRegExp.Pattern = &quot;BPK81_backup_2010_10_08_.+\.bak&quot;
For Each objItem In objFolder.Files
    If objRegExp.Test(objItem.Name) = True Then
        WScript.Echo &quot;файл &quot;&amp;objItem.Name&amp;&quot; найден&quot;
    End If
Next</code></pre></div>]]></content>
			<author>
				<name><![CDATA[us-us]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=14672</uri>
			</author>
			<updated>2010-10-08T10:43:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40134#p40134</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: проверка существования файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40132#p40132" />
			<content type="html"><![CDATA[<p>А не проще <br /></p><div class="codebox"><pre><code>If objFSO.FileExists(&quot;File&quot;) Then..</code></pre></div><p>?</p>]]></content>
			<author>
				<name><![CDATA[us-us]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=14672</uri>
			</author>
			<updated>2010-10-08T10:30:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40132#p40132</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: проверка существования файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40093#p40093" />
			<content type="html"><![CDATA[<p>Можно плясать от рекурсивного обхода всех файлов в папке:<br /></p><div class="codebox"><pre><code>Set objFSO = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)

Set Folder=objFSO.GetFolder(&quot;c:\backup\&quot;)

For each file in Folder.Files
    if Left(file.Name,24)=&quot;BPK81_backup_2010_10_08_&quot; and right(file.name,4)=&quot;.bak&quot; then
       msgbox file
    end if
Next</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Lucky]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25698</uri>
			</author>
			<updated>2010-10-08T07:04:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40093#p40093</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBScript: проверка существования файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=40087#p40087" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br />В общем ситуация такая, нужно перед копирование проверить существование файла. Нюанс в том что известна только часть имени файла. шаблон BPK81_backup_2010_10_08_???????.bak<br />Как можно это реализовать в vbs?</p>]]></content>
			<author>
				<name><![CDATA[admin-nsk]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26300</uri>
			</author>
			<updated>2010-10-08T04:07:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=40087#p40087</id>
		</entry>
</feed>
