<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=13820</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13820&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Получение полного пути файла из сокращенного (MS DOS).».]]></description>
		<lastBuildDate>Tue, 05 Jun 2018 14:58:51 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125829#p125829</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Проблема прекрасно решилась с помощью найденной функции. Использование её выглядит более аккуратным, и можно обойтись без цикла (A_LoopFileLongPath). Но способ достать длинные имена возьму в копилку. Об этом как то даже не думал, поскольку цикл в моем случае не используется. Код с циклом был приведен для примера отображения имен в dos формате.</p>]]></description>
			<author><![CDATA[null@example.com (Molotok)]]></author>
			<pubDate>Tue, 05 Jun 2018 14:58:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125829#p125829</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125828#p125828</link>
			<description><![CDATA[<p>А, верно, A_LoopFileLongPath нужен.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 05 Jun 2018 14:53:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125828#p125828</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125827#p125827</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Всё проще:</p></blockquote></div><p>А почему ты используешь A_LoopFilePath, а не A_LoopFileLongPath?<br /></p><div class="codebox"><pre><code>temp := &quot;C:\PROGRA~1\test&quot;
Loop, files, %temp%, D
   MsgBox, % A_LoopFilePath &quot;`n&quot; A_LoopFileLongPath</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 05 Jun 2018 14:33:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125827#p125827</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125826#p125826</link>
			<description><![CDATA[<div class="quotebox"><cite>Molotok пишет:</cite><blockquote><p><strong>teadrinker</strong><br />Эта проблема возникает в случае, если имя пользователя (windows) длиннее 8 символов.<br />Этим кодом кожно наглядно проверить.<br /></p><div class="codebox"><pre><code>Loop, %A_Temp%\*.*, 0, 0
{
w1 = %A_LoopFileFullPath%
MsgBox, %w1%
}
f12::
    ExitApp
    return
</code></pre></div></blockquote></div><p>В смысле, у вас этот код не возвращает имена файлов? А такой:<br /></p><div class="codebox"><pre><code>Loop, Files, %A_Temp%\*.*
   MsgBox, % A_LoopFilePath
Return

F12:: ExitApp</code></pre></div><p>?<br /></p><div class="quotebox"><blockquote><p>Нашёл код преобразующий короткое имя в длинное</p></blockquote></div><p>Всё проще:<br /></p><div class="codebox"><pre><code>Loop, files, %A_Temp%, D
   MsgBox, % A_LoopFilePath</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 05 Jun 2018 14:14:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125826#p125826</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125825#p125825</link>
			<description><![CDATA[<p>Всё отлично работает!<br /></p><div class="codebox"><pre><code>b_temp := GetLongPathName(A_Temp)

Loop, %b_temp%\*.*, 0, 0
{
w1 = %A_LoopFileFullPath%
MsgBox, %w1%
}

f12::
    ExitApp
    return
GetLongPathName(path)
{
  VarSetCapacity(out, 522)
  DllCall(&quot;GetLongPathName&quot;, &quot;str&quot;, path, &quot;str&quot;, out, &quot;uint&quot;, 260)
  return out
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Molotok)]]></author>
			<pubDate>Tue, 05 Jun 2018 13:52:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125825#p125825</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125824#p125824</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Эта проблема возникает в случае, если имя пользователя (windows) длиннее 8 символов.<br />Этим кодом кожно наглядно проверить.<br /></p><div class="codebox"><pre><code>Loop, %A_Temp%\*.*, 0, 0
{
w1 = %A_LoopFileFullPath%
MsgBox, %w1%
}
f12::
    ExitApp
    return
</code></pre></div><p><strong>Malcev</strong><br />Спасибо. Нашёл <a href="https://autohotkey.com/board/topic/123205-a-scriptdir-and-a-temp-not-equal/">код</a> преобразующий короткое имя в длинное.<br /></p><div class="codebox"><pre><code>
GetLongPathName(path)
{
  VarSetCapacity(out, 522)
  DllCall(&quot;GetLongPathName&quot;, &quot;str&quot;, path, &quot;str&quot;, out, &quot;uint&quot;, 260)
  return out
}</code></pre></div><p>Как проверю - сообщу результат.</p>]]></description>
			<author><![CDATA[null@example.com (Molotok)]]></author>
			<pubDate>Tue, 05 Jun 2018 13:47:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125824#p125824</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125823#p125823</link>
			<description><![CDATA[<div class="quotebox"><cite>Molotok пишет:</cite><blockquote><p>При подстановке переменной A_Temp в команды FileDelete и FileRemoveDir удаления не происходит.</p></blockquote></div><p>Никогда о такой проблеме не слышал. Покажите, что именно и как подставляете.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 05 Jun 2018 13:23:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125823#p125823</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125822#p125822</link>
			<description><![CDATA[<p>GetLongPathName.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 05 Jun 2018 13:22:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125822#p125822</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Получение полного пути файла из сокращенного (MS DOS).]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=125821#p125821</link>
			<description><![CDATA[<p>Добрый день.</p><p>При подстановке переменной A_Temp в команды FileDelete и FileRemoveDir удаления не происходит.<br />Переменная A_Temp содержит сокращённый до 8 символов путь (стандарт DOS). Если путь указывать целиком, не прибегая к A_Temp - то FileDelete работает.</p><p>Как получить полный путь (не формата DOS) из переменной A_temp?</p>]]></description>
			<author><![CDATA[null@example.com (Molotok)]]></author>
			<pubDate>Tue, 05 Jun 2018 13:12:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=125821#p125821</guid>
		</item>
	</channel>
</rss>
