使用WhileHotKey循环遍历文件树

时间:2019-04-30 18:07:14

标签: autohotkey

使用AutoHotKey进行自动化的新知识,并对脚本中的循环有疑问。

我想做的是遍历应用程序中的文件树,向下按直到找到所需的文件夹,然后选择它。即使达到所需的值,我所拥有的while循环也不会停止。

我要做的是发送ctrl-c复制树中第一个文件夹的值,将其存储在变量中,然后使用while循环将其与我要查找的内容进行比较。如果匹配,则选择该目录。

; parse file tree

Send, {Down 7}
Send, {Right}
Send, {Down}
Send, ^c
ClipWait
esbToCompare := % clipboard 
;MsgBox % clipboard
;MsgBox % esbContainer
esbToCompare := StrReplace(esbToCompare, "/ESB Containers/", "")
MsgBox % esbToCompare
while (esbContainer <> esbToCompare)
{   
    Send, {Down}
}
send {Enter}

我希望它逐个高亮显示每个目录,直到找到一个匹配项,然后选择该目录,但是循环不断进行。

1 个答案:

答案 0 :(得分:1)

由于while循环仅包含Send, {Down},因此它将停留在其中,因为您要比较的变量在循环时不会改变。要解决此问题,您需要在while循环中包含用于更改比较变量(esbToCompare和/或esbContainer的变量的代码。

https://www.autohotkey.com/docs/commands/While.htm