<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: получение пути к файлу с длинными именами, имея путь "8+3"]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=13&amp;type=atom" />
	<updated>2006-07-07T20:40:09Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=13</id>
		<entry>
			<title type="html"><![CDATA[Re: VBScript: получение пути к файлу с длинными именами, имея путь "8+3"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=25#p25" />
			<content type="html"><![CDATA[<p>C файлом можно обойтись следующим образом:<br /></p><div class="codebox"><pre><code>Set objShellApp = CreateObject(&quot;Shell.Application&quot;)
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
FolderPath = FSO.GetParentFolderName(&quot;C:\Progra~1\AVPers~1.INI&quot;)
Set objFolder = objShellApp.NameSpace(FolderPath)
Set objItem = objFolder.ParseName(FSO.GetFileName(&quot;C:\Progra~1\AVPers~1.INI&quot;))
FilePath = objItem.Path</code></pre></div><p>Переменная &quot;FilePath&quot; будет содержать на выходе в данном случае &quot;C:\Program Files\AVPersonalAVWIN.INI&quot;.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2006-07-07T20:40:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=25#p25</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBScript: получение пути к файлу с длинными именами, имея путь "8+3"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=24#p24" />
			<content type="html"><![CDATA[<p>Назначая команду контекстного меню проводника для папки, столкнулся с интересной проблемой: если в реестре прописана команда контекстного меню типа &quot;wscript.exe myscript.vbs %1&quot;, то путь к папке (в данном случае &quot;%1&quot;) возвращается в стиле &quot;8+3&quot;, т.е., например для &quot;C:\Program Files&quot; будет возвращено &quot;C:\Progra~1&quot; и т.п. (несмотря на то, что &quot;%1&quot; заключено в кавычки). Однако, хотелось получить &quot;красивый путь&quot;, чтобы его отображать потом, например, в диалоговых сообщениях (если понадобится). Оказалось, что в WSH (VBScript) это можно сделать следующим образом:<br /></p><div class="codebox"><pre><code>Set objShellApp = CreateObject(&quot;Shell.Application&quot;)
Set objFolder = objShellApp.NameSpace(&quot;C:\Progra~1&quot;)
FolderPath = objFolder.Self.Path</code></pre></div><p>Переменная &quot;FolderPath&quot; будет содержать на выходе в данном случае &quot;C:\Program Files&quot;.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2006-07-07T20:37:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=24#p24</id>
		</entry>
</feed>
