1 (изменено: inseption86, 2019-11-03 14:22:21)

Тема: AHK: Loop_Folder

Добрый день! Подскажите пож-та, имеется каталог "Folder" в нём находятся папки ( Смирнов А, Петров С, Сидоров У....), также в каталоге имеется папка "~ГРД", в ней также лежат папки ( Иванов Ш, Куличков А ). Название конечных папок я вывел в GUI, возможно ли как-нибудь зачекать в конце, если, конечная папка находилась в каталоге "Folder2". Заранее спасибо!


#SingleInstance force

Folder := "C:\Users\smirnovaa\Desktop\1"
Folder2 := "C:\Users\smirnovaa\Desktop\1\~ГРД"

Loop, %Folder%\*, 2, 1
{
	if A_LoopFileAttrib not contains H
		if !Instr(A_LoopFileName, "~ГРД") 
			RVG%A_Index% := % RegExReplace(A_LoopFileFullPath, ".+\\(.+)\.*.{0}", "$1")
	  counter++
}


Gui, +ToolWindow  +AlwaysOnTop 
Gui, Font, s15 italic

loop % counter {
	if   % RVG%A_Index% > 0 {
Gui, Add, Button, vButton%A_index% gGetName, % RVG%A_Index%
}
}
Gui, Show, , ***
return

GetName:
GuiControlGet, var,, % A_GuiControl
gui,destroy

MsgBox % var
return

2

Re: AHK: Loop_Folder

:= % Что за странный синтаксис?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: inseption86, 2019-11-04 20:36:19)

Re: AHK: Loop_Folder

teadrinker
Исправил, сделал так!


#SingleInstance force

Folder := "C:\Users\smirnovaa\Desktop\1"
Folder2 := "C:\Users\smirnovaa\Desktop\1\~ГРД"

Loop, %Folder%\*, 2, 1
{
	if A_LoopFileAttrib not contains H
		if !Instr(A_LoopFileName, "~ГРД") 
			RVG%A_Index% := % A_LoopFileFullPath
	  counter++
}


Gui, +ToolWindow  +AlwaysOnTop 
Gui, Font, s15 italic

loop % counter {
	if   % RVG%A_Index% > 0 {
Gui, Add, Button, vButton%A_index% gGetName, % RegExReplace(RVG%A_Index%, ".+\\(.+)\.*.{0}", "$1") 
}
}
Gui, Show, , ***
return


GetName:
Gui, Submit, NoHide

loop % counter {
	GuiControl,, Button%A_index%, % RVG%A_Index%
}
GuiControlGet, var,, % A_GuiControl

if Instr(var, "~ГРД") 
{
Folder := Folder2
}

gui,destroy

var := RegExReplace(var, ".+\\(.+)\.*.{0}", "$1")

return

4

Re: AHK: Loop_Folder

inseption86 пишет:

Исправил, сделал так!

А что изменилось?

RVG%A_Index% := % A_LoopFileFullPath

Зачем := % ? Зачем RVG%A_Index% ? Есть же массивы. Чтобы узнать путь к папке, его и сохраняйте целиком.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder