<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: Открытие csv файлов по дате и по отрывку в названий]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=15432</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=15432&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: Открытие csv файлов по дате и по отрывку в названий».]]></description>
		<lastBuildDate>Wed, 17 Jun 2020 02:51:13 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: Открытие csv файлов по дате и по отрывку в названий]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=140179#p140179</link>
			<description><![CDATA[<p>Я бы сделал чуть более универсально:</p><div class="codebox"><pre><code>
dim ifile
if WScript.Arguments.length = 0 then
	set ifile = WScript.StdIn
else
	with CreateObject(&quot;Scripting.FileSystemObject&quot;)
		set ifile = .OpenTextFile(WScript.Arguments(0))
	end with
end if

dim line
do while not ifile.AtEndOfStream
	line = ifile.ReadLine
	WScript.Echo(line)
loop

ifile.Close
</code></pre></div><p>Кода чуть больше, но и возможностей -- больше.</p><p>-- вызов скрипта с файлом в качестве параметра<br /></p><div class="codebox"><pre><code>cscript VBSCRIPT FILENAME</code></pre></div><p>-- вызов скрипта в конвейере (чтение входного потока STDIN)<br /></p><div class="codebox"><pre><code>type FILENAME | cscript VBSCRIPT</code></pre></div><p>-- вызов скрипта и передача файла на входной поток STDIN<br /></p><div class="codebox"><pre><code>cscript VBSCRIPT &lt; FILENAME</code></pre></div><p>А если не заморачиваться с такими универсальностями, то скрипт можно сильно сократить, просто читая STDIN (мой любимый способ):</p><div class="codebox"><pre><code>
set stdin = WScript.StdIn
do while not stdin.AtEndOfStream
	line = stdin.ReadLine
	WScript.Echo(line)
loop
</code></pre></div><p>И в Вашем случае вызывать его так:</p><div class="codebox"><pre><code>
for /f &quot;tokens=*&quot; %%f in ( &#039;команда получения списка...&#039; ) do (
	cscript //nologo VBSCRIPT &lt; &quot;%%~f&quot;
	goto :EOF
)
</code></pre></div><p>Естественно, что это просто примеры, и в VBS цикле должна выполняться какая-то более полезная чем простой вывод работа.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Wed, 17 Jun 2020 02:51:13 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=140179#p140179</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Открытие csv файлов по дате и по отрывку в названий]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=140176#p140176</link>
			<description><![CDATA[<p>Вероятно, из BAT вызывать VBS.<br />Вот в этом месте<br /></p><div class="codebox"><pre><code>	какая-то команда &quot;%%~f&quot;</code></pre></div><p>&quot;какой-то командой&quot; должен быть скрипт VBS. А в нём, в свою очередь, вместо константных имён файлов использовать WScript.Arguments.</p>]]></description>
			<author><![CDATA[null@example.com (Мальчик-гей)]]></author>
			<pubDate>Tue, 16 Jun 2020 22:36:47 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=140176#p140176</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Открытие csv файлов по дате и по отрывку в названий]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=140170#p140170</link>
			<description><![CDATA[<div class="quotebox"><cite>Rabi пишет:</cite><blockquote><p>как добавить ваш метод в мой скрипт для чтения csv файлов</p></blockquote></div><p>Ваш скрипт написан на VBS. Мои предложения - на BAT/CMD. Это отдельный скрипт.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Tue, 16 Jun 2020 12:59:35 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=140170#p140170</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Открытие csv файлов по дате и по отрывку в названий]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=140168#p140168</link>
			<description><![CDATA[<p><strong>Rumata</strong> здравствуйте.<br /></p><div class="quotebox"><blockquote><p>Таким образом обе команды в Вашем случае выведут искомый файл в первую позицию списка. Остается получить его -- используйте примерно такую конструкцию:</p></blockquote></div><p> <br />Можете подсказать как добавить ваш метод в мой скрипт для чтения csv файлов.</p><div class="codebox"><pre><code>Sub read()
Dim fso, f, field, MyZf

&#039; Create file object -- Objekt erstellen
Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)
SmartTags(&quot;filename2&quot;) = &quot;C:\file\MAG8000_344305H329_2020-04-09 0702.csv&quot;
Set f = fso.OpenTextFile(&quot;C:\file\MAG8000_344305H329_2020-04-09 0702.csv&quot;, 1)


&#039; Read values till end of file -- Werte bis zum Dateiende einlesen
Do While Not f.AtEndOfStream 
	MyZf = f.ReadLine
Loop
field = Split(MyZf, &quot;;&quot;)
	
SmartTags(&quot;tag_1&quot;) = field(0)
SmartTags(&quot;tag_2&quot;) = field(3)
SmartTags(&quot;tag_3&quot;) = field(6)

&#039; Tidy up -- Aufraeumen
fso.Close
Set f = Nothing
Set fso = Nothing

End Sub</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rabi)]]></author>
			<pubDate>Tue, 16 Jun 2020 11:07:19 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=140168#p140168</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Открытие csv файлов по дате и по отрывку в названий]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=140157#p140157</link>
			<description><![CDATA[<p>Есть команда DIR. С помощью ключей можно получить разные списки:<br /></p><div class="quotebox"><blockquote><p>/b - простой список<br />/a-d - только файлы<br />/o-n - сортировать по именам файлов в обратном порядке<br />/o-d /tw - сортировать по дате последнего изменения</p></blockquote></div><p>Примеры испльзования</p><p>1. отображает простой список заданных файлов, отсортированных по именам в обратном порядке<br /></p><div class="codebox"><pre><code>
dir /b /a-d /o-n MAG8000_296305H319_*
</code></pre></div><p>2. отображает простой список заданных файлов, отсортированных по времени последней модификации<br /></p><div class="codebox"><pre><code>
dir /b /a-d /o-d /tw MAG8000_296305H319_*
</code></pre></div><p>Таким образом обе команды в Вашем случае выведут искомый файл в первую позицию списка. Остается получить его -- используйте примерно такую конструкцию:<br /></p><div class="codebox"><pre><code>
for /f &quot;tokens=*&quot; %%f in ( &#039;команда получения списка...&#039; ) do (
	какая-то команда &quot;%%~f&quot;
	goto :EOF
)
</code></pre></div><p>Или в Вашем скрипте добавить несколько операций для доступа к файловой системе с помощью WSH, сортировки списка и получения самого последнего файла.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 15 Jun 2020 06:04:19 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=140157#p140157</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Открытие csv файлов по дате и по отрывку в названий]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=140156#p140156</link>
			<description><![CDATA[<p>можно одно из двух без разницы</p>]]></description>
			<author><![CDATA[null@example.com (Rabi)]]></author>
			<pubDate>Mon, 15 Jun 2020 03:14:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=140156#p140156</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Открытие csv файлов по дате и по отрывку в названий]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=140129#p140129</link>
			<description><![CDATA[<p><strong>Rabi</strong>, так по дате в имени файла или по дате-времени последней модификации?!</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Fri, 12 Jun 2020 22:49:40 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=140129#p140129</guid>
		</item>
		<item>
			<title><![CDATA[VBS: Открытие csv файлов по дате и по отрывку в названий]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=140078#p140078</link>
			<description><![CDATA[<p>Здравствуйте уважаемые форумчане! Помогите решить следующую проблему есть папка &quot;DataBase&quot; в которую раз в сутки поступают файлы &quot;csv&quot; со следующим названием:<br />- MAG8000_296305H319_2020-02-26<br />- MAG8000_296305H319_2020-02-08<br />Задача состоит в том чтоб считывать актуальные данные с этих файлов т.е. с последней датой сохранения. Скрипт для считывания данных я написал. Вопрос: возможно ли написать скрипт который будет открывать файл по отрывку в названий например &quot;MAG8000_296305H319&quot; и по последней дате сохранения? Если это возможно буду рад подсказке.</p>]]></description>
			<author><![CDATA[null@example.com (Rabi)]]></author>
			<pubDate>Tue, 09 Jun 2020 04:26:25 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=140078#p140078</guid>
		</item>
	</channel>
</rss>
