1

Тема: AHK: Переименовывание файла из шаблона

Доброго времени суток !!! Помогите создать скрипт на переименовывание файла из шаблона.Нужно что бы при одном нажатии нажатии  на файл "лкм" выполнялось действие "переименовать" и появлялось окно  шаблона со словами для вставки , со слайдером (что бы можно было нажать на слово из окна и оно переходило на объект переименования). Данное действие нужно для программирования охранных приборов , там очень много конфигураций и всем нудно присвоить имя. А это сильно бы облегчало жизнь.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2 (изменено: DD, 2013-11-16 14:11:50)

Re: AHK: Переименовывание файла из шаблона

Задействовано сочетание: Ctrl + ЛКМ.

#SingleInstance force

^LButton::
Menu, m, Add, Имя1, ItemName
Menu, m, Add, Имя2, ItemName
Menu, m, Add, Имя3, ItemName
Menu, m, Add, Имя4, ItemName
Menu, m, Add, Имя5, ItemName
Menu, m, Add, Имя6, ItemName
Menu, m, Add, Имя7, ItemName
Menu, m, Add, Имя8, ItemName
Menu, m, Add, Имя9, ItemName
Menu, m, Add, Имя10, ItemName
Menu, m, show
Return 

ItemName:
   Islnk:=0
   clipboard =
   clipboard = %A_ThisMenuItem%
   ClipWait
   IsDir := InStr(FileExist(Clipboard), "D") ? 1 : 0
   If (not IsDir) and (RegExReplace(Clipboard, ".*\.(.*)", "$1")="lnk")
         Islnk:=1
   If (IsDir or IsLnk)
  {
    send {F2}
    return
  }
   i := k := 0
   ControlGetFocus, Control, A
   if InStr(Control, "Edit")
      ControlGetText, FileName, %Control%, A
   else 
   {
      WinGet, ControlList, ControlList, A
      Loop, parse, ControlList, `n
         if InStr(A_LoopField, "Edit")
            i++
      Send {F2}
      While k - i != 1
      {
         Sleep, 15
         k := 0
         WinGet, ControlList, ControlList, A
         Loop, parse, ControlList, `n
            if InStr(A_LoopField, "Edit")
               k++
      }
      Control = Edit%k%
      ControlGetText, FileName, %Control%, A
   }
   FileNameNoExt := RegExReplace(FileName, "(.*)\..*", "$1")
   NameLengh := StrLen(FileNameNoExt)
   SendMessage, EM_SETSEL := 0xB1, 0, NameLengh, %Control%, A

   Send, {CTRL DOWN}{vk56}{CTRL UP}   ;v
   Send, {Enter}
   Return

3

Re: AHK: Переименовывание файла из шаблона

Спасибо работает,  немного правда сбивается переименовывает файл который до этого уже переименовал ,но это я исправлю

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).