我正在尝试在完成循环之前从文件中返回两次值(第一个值,然后是第二个值)。它在重复循环之前当前从文件返回第一个值两次。
我可以将信息保存在单独的文件中,但我不知道在重复循环之前如何从每个文件中提取第一个值。想法?
这是我的剧本:
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%
}
}
答案 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
}
}