<?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=10759</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10759&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: сортировка по длительности видеофайлов».]]></description>
		<lastBuildDate>Wed, 08 Jul 2015 18:25:52 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: сортировка по длительности видеофайлов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=95135#p95135</link>
			<description><![CDATA[<p><strong>griha09</strong><br />Скрипты мои как раз проще и короче. Никаких классов, приватных процедур, функций и т.д.<br />Способ сортировки быстрее и легче.<br />Пройти мимо, значит, не получить правильное решение.<br />Непосредственно тот скрипт можно было бы там и разобрать.<br />А что касаемо<br /></p><div class="codebox"><pre><code>Set Items  = Folder.Items
Items.Filter 192, Exts</code></pre></div><p>, то см. <a href="http://script-coding.com/WSH/Shell.html#5.3.3.">сюда</a>.</p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Wed, 08 Jul 2015 18:25:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=95135#p95135</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: сортировка по длительности видеофайлов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=95131#p95131</link>
			<description><![CDATA[<p><strong>Flasher</strong>, большое спасибо за ваши советы и скрипты, но для меня ваши скрипты слишком сложные.<br />Я так и не нашел что значит:<br /></p><div class="codebox"><pre><code>Set Items  = Folder.Items : Items.Filter 192, Exts</code></pre></div><p>или<br /></p><div class="codebox"><pre><code>Dim A(0) : A(0) = 0 : FFolder CD</code></pre></div><p>Для меня сие тайна великая есть.</p><p>То что мы проходили в &quot;VBS сложение времени&quot; я честно прошел мимо. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>В этой теме меня интересует расфасовка самих файлов по папкам-диапазонам длительности, хотя сортировка имен тоже классно. Вариант <strong>wisgest&#039;а</strong> <br /></p><div class="codebox"><pre><code>CDate(&quot;01:02:03&quot;) &gt; CDate(&quot;01:02:04&quot;)</code></pre></div><p>полностью меня устраивает.<br />Спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (griha09)]]></author>
			<pubDate>Wed, 08 Jul 2015 18:14:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=95131#p95131</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: сортировка по длительности видеофайлов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=95081#p95081</link>
			<description><![CDATA[<p>1) </p><div class="quotebox"><cite>griha09 пишет:</cite><blockquote><p>а как сравнить с заданной величиной не пойму. Наверно, надо преобразовать полученную длительность в секунды, а потом сравнивать. Но как преобразовать в секунды?</p></blockquote></div><p>Строки, возвращённыё <em>.GetDetailsOf()</em> можно сравнить преобразовав не в секунды, а в <em>Date</em> с помощью <em>CDate()</em>:<br /></p><div class="codebox"><pre><code>MsgBox CDate(&quot;01:02:03&quot;) &gt; CDate(&quot;01:02:04&quot;)
MsgBox CDate(&quot;01:02:03&quot;) &gt; CDate(&quot;01:01:04&quot;)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Tue, 07 Jul 2015 22:56:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=95081#p95081</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: сортировка по длительности видеофайлов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=95080#p95080</link>
			<description><![CDATA[<p><strong>griha09</strong>, мы же это <a href="http://forum.script-coding.com/viewtopic.php?pid=90859#p90859">проходили</a>. DateDiff...<br />Но тут это и не нужно. И имеется в виду сортировка имён или расфасовка самих файлов по папкам-диапазонам длительности?<br />Если первое, то:<br /></p><div class="codebox"><pre><code>&#039; Показать отсортированный по длительности список видео-файлов в данном каталоге

CD = CreateObject(&quot;WScript.Shell&quot;).CurrentDirectory
Exts = &quot;*.3gp;*.asf;*.avi;*.mov;*.mp4;*.mpg;*.wmv;*.vob&quot;
Set Folder = CreateObject(&quot;Shell.Application&quot;).NameSpace(CD)
Title = &quot; Список имён видео-файлов по убыванию длительности&quot;
Set Items  = Folder.Items : Items.Filter 192, Exts
If Items.Count = 0 Then
  MsgBox &quot;Видео-файлы не найдены!&quot;, 48, Title
Else
  Set Dict = CreateObject(&quot;ADODB.Recordset&quot;)
  Dict.Fields.Append &quot;NM&quot;, 200, 255
  Dict.Fields.Append &quot;TM&quot;, 135, 8 : Dict.Open
  For Each File in Items
    Dict.AddNew : Dur = Folder.GetDetailsOf(File, 27)
    If Not IsEmpty(Dur) Then Dict(&quot;NM&quot;) = File : Dict(&quot;TM&quot;) = Dur
  Next : Dict.Sort = &quot;TM DESC&quot;
  MsgBox Replace(Dict.GetString, vbTab, &quot; | &quot;), 64, Title
End If</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Tue, 07 Jul 2015 21:44:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=95080#p95080</guid>
		</item>
		<item>
			<title><![CDATA[VBS: сортировка по длительности видеофайлов]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=95079#p95079</link>
			<description><![CDATA[<p>Решил сделать сортировку по длительности видеофайлов. Вот длительность видеофайла я получил <br /></p><div class="codebox"><pre><code>
    For Each File in Folder.Files
Set oFileDetailsReader = New cFileDetailsReader
With oFileDetailsReader
    .OpenFile File
        dlit= .GetDetail(27) 
   End With
 Next

Class cFileDetailsReader
    Private oFSO, oShellApp, oFolder3, oFolderItem
    
    Private Sub Class_Initialize()
        Set oFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
        Set oShellApp = CreateObject(&quot;Shell.Application&quot;)
    End Sub
    
    Sub OpenFile(FilePath)
        With oFSO.GetFile(FilePath)
            Set oFolder3 = oShellApp.NameSpace(.ParentFolder.Path)
            Set oFolderItem = oFolder3.ParseName(.Name)
        End With
    End Sub
    
    Function GetDetail(Index)
        GetDetail = oFolder3.GetDetailsOf(oFolderItem,Index)
    End Function

    Function GetDetailName(Index)
        GetDetailName = oFolder3.GetDetailsOf(0,Index)
    End Function
End Class</code></pre></div><p>а как сравнить с заданной величиной не пойму. Наверно, надо преобразовать полученную длительность в секунды, а потом сравнивать. Но как преобразовать в секунды?</p>]]></description>
			<author><![CDATA[null@example.com (griha09)]]></author>
			<pubDate>Tue, 07 Jul 2015 21:33:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=95079#p95079</guid>
		</item>
	</channel>
</rss>
