在循环中从文件返回两次

时间:2013-08-04 14:19:12

标签: loops autohotkey

我正在尝试在完成循环之前从文件中返回两次值(第一个值,然后是第二个值)。它在重复循环之前当前从文件返回第一个值两次。

我可以将信息保存在单独的文件中,但我不知道在重复循环之前如何从每个文件中提取第一个值。想法?

这是我的剧本:

Loop, read, C:\Users\Michael\Google Drive\AutoHotKey\Reference Files\item.txt
{
Loop, parse, A_LoopReadLine, %A_Tab%
    {
    sleep 1500
    send 1
    sleep 1500
    send {enter}
    send 52
    sleep 1500
    send {enter}
    send 4
    sleep 1500
    send {enter}
    sleep 1500
    Send %A_LoopField%
    sleep 1500
    send {enter}
    sleep 1500
    Send %A_LoopField%
}

}

1 个答案:

答案 0 :(得分:0)

你已经获得了第一个值 - 当循环读取该行时,你得到a_loopfield - 这是每个文件中第一行的值。

但你只是在查看一个文件!这就是为什么你只得到一个值。如果要遍历该目录中的所有.txt文件,则必须使用通配符。

这是给你的原理图(一个想法;你必须调整它):

Loop, read, C:\Users\Michael\Google Drive\AutoHotKey\Reference Files\*.txt  ;loop through all .txt files in this directory
{
    thisfile = %a_loopfield%
    Loop, parse, A_LoopReadLine, %A_Tab%  ;now parse the file that is being looped
        {
            msgbox The file is: %thisfile%`r and the first line is %a_loopfield%
            break  ;since we only want the *first* line, then don't read any more of this file
    }
}