【问题标题】:Iterating a file tree with a while loop with AutoHotKey使用 AutoHotKey 使用 while 循环迭代文件树
【发布时间】:2019-05-01 03:08:56
【问题描述】:

刚开始使用 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}

我希望它一个一个地突出显示每个目录,直到它匹配然后选择该目录,但是循环继续进行。

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    由于您的 while 循环仅包含 Send, {Down},因此它会一直停留在其中,因为您正在比较的变量在循环时不会改变。要修复它,您需要在 while 循环中包含更改比较变量(esbToCompare 和/或 esbContainer)的代码。

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

    【讨论】:

      猜你喜欢
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 2013-11-30
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 2017-02-03
      相关资源
      最近更新 更多