<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: чтение расширенных свойств файлов]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=38</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=38&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: чтение расширенных свойств файлов».]]></description>
		<lastBuildDate>Wed, 05 Sep 2007 08:46:03 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBScript: чтение расширенных свойств файлов]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=4436#p4436</link>
			<description><![CDATA[<p>Метод Folder.GetDetailsOf(), вызванный без первого аргумента или с первым аргументом не являющимся объектом FolderItem, возвращает не значение i-го свойства конкретного файла, а название этого свойства (для русских версий Windows — по-русски). </p><div class="codebox"><pre><code>Const Title = &quot;Выберите папку для исследования доступных свойств её элементов.&quot;
Const Min = 0, Max = 40 &#039;диапазон проверяемых свойств
Const NoNewFolderButton = &amp;H200, EditBox = &amp;H10
Set Shell = CreateObject(&quot;Shell.Application&quot;)
Do
  Set Folder = Shell.BrowseForFolder(0, Title, NoNewFolderButton Or EditBox)
  If Folder Is Nothing Then Exit Do
  Result =_
    &quot;Папка: &quot; &amp; Folder.Self.Path &amp; vbNewLine &amp;_
    &quot;Тип: &quot; &amp; Folder.Self.Type &amp; vbNewLine &amp; vbNewLine
  For I = Min To Max
    Result = Result &amp;_
      I &amp; &quot; - &quot; &amp; Folder.GetDetailsOf(, I) &amp; vbNewLine
  Next
  WScript.Echo Result &amp;_
    vbNewLine &#039;пропуск строки для запуска под CScript
Loop</code></pre></div><p>Замечание к скрипту: если интересующая папка (например, zip-папка) отсутствует в дереве папок, то можно просто ввести путь к ней.</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Wed, 05 Sep 2007 08:46:03 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=4436#p4436</guid>
		</item>
		<item>
			<title><![CDATA[VBScript: чтение расширенных свойств файлов]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=50#p50</link>
			<description><![CDATA[<p>Иногда в WSH-скрипте требуется получить несколько больше свойств файла, чем просто имя, атрибуты, дата создания и подобное. Например, требуется получить битрэйт и/или заголовок песни mp3-файла, разрешение в точках jpg-файла, автора и/или тему документа MS Office и т.д. Подобные свойства можно увидеть в проводнике в палитре свойств файла на вкладке &quot;Сводка&quot; (или просто вывести эти свойства в колонки списка файлов проводника). Оказывается, эти же свойства не проблема получить и программно в скриптах. Нижеприведённый скрипт демонстрирует получение таких свойств для абстрактного файла &quot;D:\Temp\123.jpg&quot;:<br /></p><div class="codebox"><pre><code>Set objShellApp = CreateObject(&quot;Shell.Application&quot;)
Set objFolder = objShellApp.NameSpace(&quot;D:\Temp\&quot;)
Set objItem = objFolder.ParseName(&quot;123.jpg&quot;)
strResult = vbNullString
strResult = strResult &amp; &quot;Информация об объекте &quot;&quot;&quot; &amp; objItem.Path &amp; &quot;&quot;&quot;:&quot; &amp; vbCrLf
For i=-1 To 40
    strResult = strResult &amp; i &amp; &quot; - &quot; &amp; objFolder.GetDetailsOf(objItem, i) &amp; vbCrLf
Next
MsgBox strResult, vbInformation</code></pre></div><p>Номера различных свойств разных форматов файлов вы можете найти экспериментально, перебрав номера свойств в цикле до какого-нибудь достаточно большого значения (что и сделано в скрипте с помощью переменной &quot;i&quot;).<br />Идею опубликовал <strong>smaharbA</strong>.</p>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Sat, 08 Jul 2006 21:21:39 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=50#p50</guid>
		</item>
	</channel>
</rss>
