<?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="http://forum.script-coding.com/extern.php?action=feed&amp;tid=38&amp;type=atom" />
	<updated>2007-09-05T08:46:03Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=38</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: чтение расширенных свойств файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=4436#p4436" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2007-09-05T08:46:03Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=4436#p4436</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBScript: чтение расширенных свойств файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=50#p50" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2006-07-08T21:21:39Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=50#p50</id>
		</entry>
</feed>
