<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5997</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5997&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: переименование файла в Windows (выделение имени без расширения)».]]></description>
		<lastBuildDate>Tue, 12 Jul 2011 09:18:59 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49821#p49821</link>
			<description><![CDATA[<p>Вот, что в итоге получилось<br /></p><div class="codebox"><pre><code>SetTitleMatchMode, 2 
SendMode, input
GroupAdd, RenameGroup
GroupAdd, RenameGroup, Program Manager ahk_class Progman
GroupAdd, RenameGroup, ahk_class CabinetWClass

#IfWinActive ahk_group RenameGroup
$F2::
   Islnk:=0
   Clipboard =
   Send ^{vk43}
   ClipWait
   IsDir := InStr(FileExist(Clipboard), &quot;D&quot;) ? 1 : 0
   If (not IsDir) and (RegExReplace(Clipboard, &quot;.*\.(.*)&quot;, &quot;$1&quot;)=&quot;lnk&quot;)
         Islnk:=1
   If (IsDir or IsLnk)
  {
    send {F2}
    return
  }
   i := k := 0
   ControlGetFocus, Control, A
   if InStr(Control, &quot;Edit&quot;)
      ControlGetText, FileName, %Control%, A
   else 
   {
      WinGet, ControlList, ControlList, A
      Loop, parse, ControlList, `n
         if InStr(A_LoopField, &quot;Edit&quot;)
            i++
      Send {F2}
      While k - i != 1
      {
         Sleep, 15
         k := 0
         WinGet, ControlList, ControlList, A
         Loop, parse, ControlList, `n
            if InStr(A_LoopField, &quot;Edit&quot;)
               k++
      }
      Control = Edit%k%
      ControlGetText, FileName, %Control%, A
   }
   FileNameNoExt := RegExReplace(FileName, &quot;(.*)\..*&quot;, &quot;$1&quot;)
   NameLengh := StrLen(FileNameNoExt)
   SendMessage, EM_SETSEL := 0xB1, 0, NameLengh, %Control%, A
   Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (InFlames)]]></author>
			<pubDate>Tue, 12 Jul 2011 09:18:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49821#p49821</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49818#p49818</link>
			<description><![CDATA[<p><strong>InFlames</strong>, с точки зрения корректности — всё верно: папка тоже может иметь расширение. Единственное, что отличает папку от файла — один атрибут. В принципе, всё, что находится после последней точки — и есть расширение.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 11 Jul 2011 21:42:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49818#p49818</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49813#p49813</link>
			<description><![CDATA[<p>Наверно, только так:<br /></p><div class="codebox"><pre><code>!1::
   Clipboard =
   Send ^{vk43}
   ClipWait
   MsgBox, % InStr(FileExist(Clipboard), &quot;D&quot;) ? &quot;Папка&quot; : &quot;Файл&quot;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 11 Jul 2011 18:59:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49813#p49813</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49812#p49812</link>
			<description><![CDATA[<p>Отлично работает, но если в имени папки есть точка, то скрипт выделяет всё до точки. Как определить, что выделенный элемент папка?</p>]]></description>
			<author><![CDATA[null@example.com (InFlames)]]></author>
			<pubDate>Mon, 11 Jul 2011 18:48:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49812#p49812</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49808#p49808</link>
			<description><![CDATA[<p>А вот так надёжнее, и без посыла клавиш, кроме F2:<br /></p><div class="codebox"><pre><code>!1::
   i := k := 0
   ControlGetFocus, Control, A
   if InStr(Control, &quot;Edit&quot;)
      ControlGetText, FileName, %Control%, A
   else 
   {
      WinGet, ControlList, ControlList, A
      Loop, parse, ControlList, `n
         if InStr(A_LoopField, &quot;Edit&quot;)
            i++
      Send {F2}
      While k - i != 1
      {
         Sleep, 50
         k := 0
         WinGet, ControlList, ControlList, A
         Loop, parse, ControlList, `n
            if InStr(A_LoopField, &quot;Edit&quot;)
               k++
      }
      Control = Edit%k%
      ControlGetText, FileName, %Control%, A
   }
   FileNameNoExt := RegExReplace(FileName, &quot;(.*)\..*&quot;, &quot;$1&quot;)
   NameLengh := StrLen(FileNameNoExt)
   SendMessage, EM_SETSEL := 0xB1, 0, NameLengh, %Control%, A
   Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 11 Jul 2011 16:47:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49808#p49808</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49807#p49807</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Наверно, имеются ввиду значки на рабочем столе, когда название написано в несколько строк.</p></blockquote></div><p>Именно.</p>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Mon, 11 Jul 2011 16:26:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49807#p49807</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49806#p49806</link>
			<description><![CDATA[<p>Для выделения имени файла пользуюсь таким:<br /></p><div class="codebox"><pre><code>!1::
   i = 0
   ControlGetFocus, Control, A
   if InStr(Control, &quot;Edit&quot;)
      ControlGetText, FileName, %Control%, A
   else 
   {
      WinGet, ControlList, ControlList, A
      Loop, parse, ControlList, `n
         if InStr(A_LoopField, &quot;Edit&quot;)
            i++
      Send {F2}
      Sleep, 50  ; на всякий случай, у меня работает и без этого
      ControlGetText, FileName, % &quot;Edit&quot; ++i, A
   }
   FileNameNoExt := RegExReplace(FileName, &quot;(.*)\..*&quot;, &quot;$1&quot;)
   NameLengh := StrLen(FileNameNoExt)
   SendInput, ^{Home}+{Right %NameLengh%}
   Return</code></pre></div><div class="quotebox"><cite>InFlames пишет:</cite><blockquote><p>Что за большие значки?</p></blockquote></div><p>Наверно, имеются ввиду значки на рабочем столе, когда название написано в несколько строк.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 11 Jul 2011 16:07:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49806#p49806</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49805#p49805</link>
			<description><![CDATA[<p>Что за большие значки?</p>]]></description>
			<author><![CDATA[null@example.com (InFlames)]]></author>
			<pubDate>Mon, 11 Jul 2011 16:04:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49805#p49805</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49804#p49804</link>
			<description><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>К сожалению, для Проводника точка не является границей слова <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" />, т.е., «Ctrl+Shift+Left» отрабатывает не так, как ожидалось. Наверное, придётся считать с конца — до точки.</p></blockquote></div><p>Блин, действительно. Тогда нужно забирать в буфер всё имя, разбирать его в коде посимвольно (искать точку с конца), а затем посылать «Shift+Left» или что-там ещё уже столько раз, сколько нужно.</p><p>Кстати, в случае больших значков и клавиша Home тоже может сработать не так как нужно, видимо.</p>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Mon, 11 Jul 2011 15:47:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49804#p49804</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49803#p49803</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>F2</p></blockquote></div><p>Начать переименование файла/папки в Проводнике.<br /></p><div class="quotebox"><blockquote><p>Home</p></blockquote></div><p>Перейти в начало имени, одновременно сняв выделение.<br /></p><div class="quotebox"><blockquote><p>Ctrl+Shift+End</p></blockquote></div><p>Выделить до конца текста.<br /></p><div class="quotebox"><blockquote><p>Ctrl+Shift+Left</p></blockquote></div><p>Убрать выделение с расширения.<br /></p><div class="quotebox"><blockquote><p>Shift+Left</p></blockquote></div><p>Убрать дополнительно выделение с точки.</p><p>К сожалению, для Проводника точка не является границей слова <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" />, т.е., «Ctrl+Shift+Left» отрабатывает не так, как ожидалось. Наверное, придётся считать с конца — до точки.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 11 Jul 2011 15:16:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49803#p49803</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49802#p49802</link>
			<description><![CDATA[<div class="quotebox"><cite>The gray Cardinal пишет:</cite><blockquote><p>А вообще, наверное, можно послать клавиши: F2, затем Home, затем Ctrl+Shift+End, затем Ctrl+Shift+Left, затем Shift+Left.</p></blockquote></div><p>А что при этом должно происходить? Попробовал - выделить имя без расширения не получилось.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Mon, 11 Jul 2011 14:41:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49802#p49802</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49797#p49797</link>
			<description><![CDATA[<p>Да. Именно так это и было реализовано. Можно и самому написать. Просто я вспомнил, что была такая тема, и хотел воспользоваться уже готовым решением.</p>]]></description>
			<author><![CDATA[null@example.com (InFlames)]]></author>
			<pubDate>Mon, 11 Jul 2011 08:54:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49797#p49797</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49796#p49796</link>
			<description><![CDATA[<p>Темы такой не помню (это не значит, что её нет).<br />Разные версии Windows ведут себя по-разному при нажатии F2 в Проводнике, вроде. Т.е. где-то будет выделено всё имя, а где-то — имя без расширения.<br />А вообще, наверное, можно послать клавиши: F2, затем Home, затем Ctrl+Shift+End, затем Ctrl+Shift+Left, затем Shift+Left.</p>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Mon, 11 Jul 2011 06:44:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49796#p49796</guid>
		</item>
		<item>
			<title><![CDATA[AHK: переименование файла в Windows (выделение имени без расширения)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49794#p49794</link>
			<description><![CDATA[<p>Когда только попал на этот форум, видел тут скрипт, позволяющий переименовывать файл в Windows (двойной клик или F2), не выделяя расширение.<br />Т.е. выделяем файл, нажимаем F2, и скрипт выделяет только имя файла, не затрагивая расширение.<br />Не могу найти эту тему на форуме. Если не удалили ее, поделитесь ссылкой.</p>]]></description>
			<author><![CDATA[null@example.com (InFlames)]]></author>
			<pubDate>Mon, 11 Jul 2011 05:21:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49794#p49794</guid>
		</item>
	</channel>
</rss>
