<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7775</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7775&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.».]]></description>
		<lastBuildDate>Fri, 16 Nov 2012 14:40:33 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65686#p65686</link>
			<description><![CDATA[<p>Вроде все))) Не должно а работает)))<br /></p><div class="codebox"><pre><code>
Dim FSO, Folder, FilesCollection, sFullFileName, DirIZV

Dim TodayDate : TodayDate = Now()
TodayDate = Left( TodayDate, 10)

Dim sResult : sResult = &quot;&quot;

Const ForReading = 1, ForWriting = 2, TristateUseDefault = -2, ReadLine = 2

DirIZV = &quot;C:\777&quot; &#039; Папка которую смотрим

Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set Folder = FSO.GetFolder( DirIZV )
Set FilesCollection = Folder.Files

For Each File in FilesCollection
    sDateOnly = Left(File.DateLastModified, 10)
    
if sDateOnly=TodayDate then
   sResult = sResult &amp; File.Name &amp; vbTab
  
	if Len(sResult)&gt;0 Then
		sFullFileName = DirIZV &amp; &quot;\&quot; &amp; File.Name
			set F=FSO.GetFile( sFullFileName )
			set TextStream=F.OpenAsTextStream(ForReading, TristateUseDefault)
			p=TextStream.SkipLine
			t=TextStream.Read(2)
			TextStream.Close
		
		if t&gt;01 then
			WScript.Echo &quot;Файл: &quot; &amp; sFullFileName &amp; vbCrLf &amp; vbCrLf &amp; &quot;Код ошибки: &quot; &amp; t
		end if
	end if
end if
next</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (xsanekk)]]></author>
			<pubDate>Fri, 16 Nov 2012 14:40:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65686#p65686</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65685#p65685</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p><span style="color: #008800"><strong>xsanekk</strong>, обрати внимание на <a href="http://forum.script-coding.com/help.php#smilies">оформление кода</a> и отредактируй свои посты.</span></p></blockquote></div><p>Сделал))</p>]]></description>
			<author><![CDATA[null@example.com (xsanekk)]]></author>
			<pubDate>Fri, 16 Nov 2012 13:02:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65685#p65685</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65663#p65663</link>
			<description><![CDATA[<p><span style="color: #008800"><strong>xsanekk</strong>, обрати внимание на <a href="http://forum.script-coding.com/help.php#smilies">оформление кода</a> и отредактируй свои посты.</span></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 15 Nov 2012 14:24:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65663#p65663</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65662#p65662</link>
			<description><![CDATA[<div class="quotebox"><cite>xsanekk пишет:</cite><blockquote><p>Теперь как сделать так что бы был перебор файлов... то есть искал бы цифру в нескльких файлах пришедших сегодня... понимаю нужен цикл и перебор файлов... но что то не соображу как...</p></blockquote></div><p>В предыдущем Вашем скрипте ведь и был цикл по файлам директории. В теле цикла формируете полное имя файла и используете для его открытия, например, так:<br /></p><div class="codebox"><pre><code>
&#039; [....... то, что до цикла]
For Each File in FilesCollection
    sDateOnly = Left(File.DateLastModified, 10)
    if sDateOnly=TodayDate then
        sResult = sResult &amp; File.Name &amp; vbTab
        sResult = sResult &amp; File.DateLastModified &amp; vbCrLf
        &#039;--- готовимся к чтению файла
        sFullFileName = &quot;c:\777&quot; &amp; &quot;\&quot; &amp; File.Name &#039; путь к каталогу &quot;c:\777&quot; лучше обозначить один раз в некую переменную, чем повторять его явно
        set F=FSO.GetFile( sFullFileName )
        &#039;[.... здесь Ваш код чтения файла]
    end if
Next</code></pre></div><p>И оформляйте плз в постах свой код внутри специального тэга по кнопочке &quot;Code&quot;.</p><p>Перед сравнением<br /></p><div class="codebox"><pre><code>
t=TextStream.Read(2)
&#039; [.....]
if t&gt;01 then</code></pre></div><p>думаю что нужно либо &quot;t&quot; привести к числовому виду, т.к. считанное значение скорее всего строковое, либо сравнивать не с чисолм 01, а со строкой &quot;01&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (Rom5)]]></author>
			<pubDate>Thu, 15 Nov 2012 13:50:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65662#p65662</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65661#p65661</link>
			<description><![CDATA[<div class="codebox"><pre><code>Dim FSO,F,TextStream,s,p &#039;Объявляем переменные
&#039; Инициализируем константы
Const ForReading = 1, ForWriting = 2, TristateUseDefault = -2, ReadLine = 2

&#039; Создаем объект FileSystemObject
Set FSO=WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
&#039; Создаем объект File для файла test1.txt
set F=FSO.GetFile(&quot;c:\777\test1.txt&quot;)
&#039; Открываем файл для чтения
Set TextStream=F.OpenAsTextStream(ForReading, TristateUseDefault)
&#039; Пропускаем первую строку и считываем 2 символа во 2й строке
p=TextStream.SkipLine
t=TextStream.Read(2)
&#039; Закрываем файл 
TextStream.Close

if t&gt;01 then
&#039; Отображаем строку на экране
WScript.Echo &quot;Код ошибки:&quot; &amp; vbCrLf &amp; vbCrLf &amp; t
end if</code></pre></div><p>Теперь как сделать так что бы был перебор файлов... то есть искал бы цифру в нескльких файлах пришедших сегодня... понимаю нужен цикл и перебор файлов... но что то не соображу как...</p>]]></description>
			<author><![CDATA[null@example.com (xsanekk)]]></author>
			<pubDate>Thu, 15 Nov 2012 08:07:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65661#p65661</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65660#p65660</link>
			<description><![CDATA[<p>Спасибо&nbsp; ROM5!</p>]]></description>
			<author><![CDATA[null@example.com (xsanekk)]]></author>
			<pubDate>Thu, 15 Nov 2012 08:00:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65660#p65660</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65652#p65652</link>
			<description><![CDATA[<p>Вот, чуть подправленный Ваш скрипт:</p><div class="codebox"><pre><code>
Dim FSO, Folder, FilesCollection
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set Folder = FSO.GetFolder(&quot;C:\777&quot;)
Set FilesCollection = Folder.Files

Dim TodayDate : TodayDate = Now()

&#039; MsgBox TodayDate &#039;&#039;&#039; раскомментарьте для понимания получаемых значений
TodayDate = Left( TodayDate, 10) &#039; берем из текущей даты-времени &quot;дд.мм.гггг чч:мм:сс&quot; только дату - первые 10 символов
&#039; MsgBox TodayDate

Dim sResult : sResult = &quot;&quot; &#039;Начальное значение накопительной переменной для результата&#039;

For Each File in FilesCollection
	sDateOnly = Left(File.DateLastModified, 10) &#039; берем из даты измения файла &quot;дд.мм.гггг чч:мм:сс&quot; только дату
	if sDateOnly=TodayDate then
		sResult = sResult &amp; File.Name &amp; vbTab
		sResult = sResult &amp; File.DateLastModified &amp; vbCrLf
	end if
Next
&#039; Вывод результата на экран
If Len(sResult)&gt;0 Then
	&#039; MsgBox(sResult)
	MsgBox &quot;Найдены сегодняшние файлы:&quot; &amp; vbCrLf &amp; vbCrLf &amp; sResult, vbInformation, &quot;Поиск в &quot; &amp; Folder
Else
	MsgBox &quot;Сегодняшних файлов не найдено.&quot;, vbExclamation, &quot;Поиск в &quot; &amp; Folder
End IF</code></pre></div><p>1) функция &quot;<em>Now<strong>()</strong></em>&quot; возвращает не только системную дату, но и время, а т.к. нам нужна для сравнения только дата, то берем для себя первые 10 символов слева, т.е. время отбрасываем;<br />2) аттрибут файла &quot;дата создания&quot; (.DateCreated) значение может вернуть скорее всего не то, что Вы ожидаете увидеть, поэтому лучше брать аттрибут &quot;дата модификации&quot; (.DateLastModified), а т.к. в этих аттрибутах также присутствует время, то тоже берем для сравнения только первые 10 символов.<br />3) накопление в результатирующей переменной (sResult) я сделал только по данным &quot;сегодняшних&quot; файлов, а до начала работы с этой переменной желательно определить ее значение как &quot;&quot;, чтобы понимать, что в ней можно ожидать;<br />4) вывод результата произвожу в зависимости от наличия содержимого в накопительной переменной.</p><p>Теперь учитесь открывать текстовый файл на чтение и построчно читать его содержимое.</p>]]></description>
			<author><![CDATA[null@example.com (Rom5)]]></author>
			<pubDate>Wed, 14 Nov 2012 21:44:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65652#p65652</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65635#p65635</link>
			<description><![CDATA[<p>Вот так что ли? Не получается почему то дату получить системную...</p><div class="codebox"><pre><code>Dim FSO, Folder, FilesCollection, sResult, TodayDate

Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set Folder = FSO.GetFolder(&quot;C:\777&quot;)
Set FilesCollection = Folder.Files
Set TodayDate = Now

For Each File in FilesCollection
	sResult = sResult &amp; File.Name &amp; vbTab
    sResult = sResult &amp; File.DateCreated &amp; vbCrLf
Next
		if File.DateCreated=TodayDate then
		&#039; Вывод результата на экран
MsgBox(sResult)
		end if</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (xsanekk)]]></author>
			<pubDate>Wed, 14 Nov 2012 14:22:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65635#p65635</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65590#p65590</link>
			<description><![CDATA[<p>Например, так - ищите примеры получения списка файлов из папки с помощью WSH-объекта FileSystemObject, потом циклом перечитываете аттрибуты каждого файла (примеры получения аттрибутов тоже найти не проблема) и, если расширение файла &quot;txt&quot;, а дата модификации =сегодняшней, то - открываете файл, читаете построчно, на второй строке проверяете свое условие, закрываете, переходите к следующему файлу.</p>]]></description>
			<author><![CDATA[null@example.com (Rom5)]]></author>
			<pubDate>Tue, 13 Nov 2012 16:00:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65590#p65590</guid>
		</item>
		<item>
			<title><![CDATA[VBS WSH. Чтение txt строк. Выполнение условия по значению в строке.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=65586#p65586</link>
			<description><![CDATA[<p>доброго времени суток.</p><p>подскажите пожалуйста как решить такую задачку... есть папка, в ней находятся несколько десятков файлов txt. Необходимо что бы скрипт сканировал все файлы в этой папке и проверял вторую строчку в каждом файле. Мы должны считывать только вторую строчку. Если во второй строчке 01 то ничего не делаем. Если в строчке 02 или больше (03 04 05) то выдаем сообщение на экран. И как сделать что бы сканировались файлы только те которые созданы сегодня(по системной дате)...</p>]]></description>
			<author><![CDATA[null@example.com (xsanekk)]]></author>
			<pubDate>Tue, 13 Nov 2012 14:05:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=65586#p65586</guid>
		</item>
	</channel>
</rss>
