<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Установка соответствий программ для расширений файлов]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7497&amp;type=atom" />
	<updated>2012-08-31T11:31:26Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=7497</id>
		<entry>
			<title type="html"><![CDATA[Re: Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63372#p63372" />
			<content type="html"><![CDATA[<p>Спасибо большое за помощь!</p>]]></content>
			<author>
				<name><![CDATA[Drugoy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27463</uri>
			</author>
			<updated>2012-08-31T11:31:26Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63372#p63372</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63265#p63265" />
			<content type="html"><![CDATA[<p>В батнике можно использовать команду reg. В командной строке наберите reg /? и почитайте справку. Например, вот такой код регистрирует для текущего пользователя расширение .xyz и ассоциирует тип файла xyzfile с программой Launcher.exe, лежащей в той же папке, где батник.<br /></p><div class="codebox"><pre><code>reg add HKCU\Software\Classes\.xyz /ve /d xyzfile
reg add HKCU\Software\Classes\xyzfile\shell\open\command /ve /d &quot;\&quot;%~dp0Launcher.exe\&quot; \&quot;%%1\&quot;&quot;</code></pre></div><p>Если в этой ветке уже есть записи для такого расширения и типа файла, в обеих командах ещё нужен ключ /f для их перезаписи. Кстати, тут вам нужно подумать, что делать с существующими записями. Видимо, их нужно где-то сохранять и потом возвращать на место. Можно, в принципе, сохранять там же в реестре.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-08-28T13:16:38Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63265#p63265</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63263#p63263" />
			<content type="html"><![CDATA[<p>и через командную строку, т.е. внести изменения в эти другие ветки - нельзя? значит bat не подойдёт а нужно что-то другое, что умеет читать-писать в реестр?</p>]]></content>
			<author>
				<name><![CDATA[Drugoy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27463</uri>
			</author>
			<updated>2012-08-28T09:36:01Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63263#p63263</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63262#p63262" />
			<content type="html"><![CDATA[<p>Для ассоциаций есть две ветки в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Classes и HKEY_CURRENT_USER\Software\Classes. Последняя (ассоциации для текущего пользователя) имеет преимущество. Будет работать то, что написано в ней. Но команды assoc и ftype показывают ассоциации не из неё, а из HKEY_LOCAL_MACHINE, т.е. вариант для всех пользователей.</p><p>Есть ещё HKEY_CLASSES_ROOT, но она не самостоятельна, в ней отображаются те две ветки с учётом приоритета HKEY_CURRENT_USER.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2012-08-28T02:37:37Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63262#p63262</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63257#p63257" />
			<content type="html"><![CDATA[<p>А почему у меня на компе прекрасно открывается .doc, а &quot;assoc .doc&quot; говорит &quot;Не найдено сопоставление для расширения имени файла .doc.&quot;?<br />&quot;assoc .docx&quot; выдаёт &quot;.docx=docxfile&quot;, а &quot;ftype docxfile&quot; выдаёт &quot;docxfile=&quot;%ProgramFiles%\Windows NT\Accessories\WORDPAD.EXE&quot; &quot;%1&quot;, и при этом .docx у меня открывается тем же портабл ms офисом, что и .doc, а никаким не вордпадом.<br />Получается, это какие-то формальные регистрации расширений, а настоящая привязка - задаётся где-то ещё. Где?</p>]]></content>
			<author>
				<name><![CDATA[Drugoy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27463</uri>
			</author>
			<updated>2012-08-27T20:49:31Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63257#p63257</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63245#p63245" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Drugoy пишет:</cite><blockquote><p>очевидно, что в системе где-то прописано, что-то типа fileType &quot;AcroExch.Document&quot; следует открывать программой, расположенной по какому-то пути</p></blockquote></div><p>все верно:<br /></p><div class="codebox"><pre><code>ftype AcroExch.Document</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2012-08-27T13:46:38Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63245#p63245</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63244#p63244" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>greg zakharov пишет:</cite><blockquote><p>Если я правильно понял, то имелись в виду ассоциировние расширений с обрабатываемыми их приложениями, при этом в роли последних выступают ланчуры. Если речь о батнике, то получить путь к каталогу, в котором лежит скрипт можно через %~dp0, а прописать ассоциации - использовать команду assoc. Более подробно по данным параметрам можно узнать из комстроки, выполнив команду hh ntcmds.chm (если ХР).</p></blockquote></div><p>попробовал в командной строке проверить ассоциацию, для, скажем pdf:<br /></p><div class="codebox"><pre><code>assoc .pdf</code></pre></div><p>командная строка выдала<br /></p><div class="codebox"><pre><code>.pdf=AcroExch.Document</code></pre></div><p>И так у всех расширений: для них написаны какие-то названия (fileType) уже зарегистрированных в систем хэндлеров, т.е. очевидно, что в системе где-то прописано, что-то типа fileType &quot;AcroExch.Document&quot; следует открывать программой, расположенной по какому-то пути (допустим c:/program files/acrobat reader/acrobat.exe), но где это прописывается? Куда и как добавлять такие связки?</p>]]></content>
			<author>
				<name><![CDATA[Drugoy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27463</uri>
			</author>
			<updated>2012-08-27T12:54:08Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63244#p63244</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63221#p63221" />
			<content type="html"><![CDATA[<p>Но при этом не следует забывать, что при извлечении флешки нужно возвращать ассоциации с файлами на место.</p>]]></content>
			<author>
				<name><![CDATA[Ottiwell_Wood]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26902</uri>
			</author>
			<updated>2012-08-26T17:21:57Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63221#p63221</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63200#p63200" />
			<content type="html"><![CDATA[<p>Если я правильно понял, то имелись в виду ассоциировние расширений с обрабатываемыми их приложениями, при этом в роли последних выступают ланчуры. Если речь о батнике, то получить путь к каталогу, в котором лежит скрипт можно через %~dp0, а прописать ассоциации - использовать команду assoc. Более подробно по данным параметрам можно узнать из комстроки, выполнив команду hh ntcmds.chm (если ХР).</p>]]></content>
			<author>
				<name><![CDATA[greg zakharov]]></name>
			</author>
			<updated>2012-08-26T13:39:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63200#p63200</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Установка соответствий программ для расширений файлов]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63187#p63187" />
			<content type="html"><![CDATA[<p>Здравствуйте, я пользуюсь portable софтом, в том числе pdf/office читалками и редакторами.<br />Т.к. для того, чтобы софт был запущен правильно (т.е. в portable режиме) - для установки соответствия расширений файлам надо указывать не на саму программу, а на её portable launcher, что делает невозможным автоматическую установку привязок к поддерживаемым расширениям самой программой и приходится регистрировать всё вручную.<br />Хочется скрипт, который делал бы это автоматом.</p><p>Дано:<br />Лаунчеры находятся в той же папке, что и сам скрипт. Лаунчеры имеют статические, известные имена.</p><p>Задача скрипта:<br />1. получить путь к папке в которой находятся лаунчеры (и он сам)<br />2. прописать соответствия.</p><p>Помогите, пожалуйста.</p>]]></content>
			<author>
				<name><![CDATA[Drugoy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27463</uri>
			</author>
			<updated>2012-08-25T21:06:37Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63187#p63187</id>
		</entry>
</feed>
