亲爱的朋友们我试图通过在autohotkey中使用循环(读取文件内容)命令将数据从.txt文件发送到另一个文件。但它不是逐行发送它,即它是连续发送它。我制作了一个如下脚本 -
F1::
Loop, read, C:\Data.txt
{
Loop, parse, A_LoopReadLine, %A_Tab%
{
Send %A_LoopField%
}
}
在上面的示例中,我将 F1 设为热键。
我的data.txt
驱动器中有D:
个文件。现在我希望当我按 F1 键时,它应该从data.txt
文件一次只发送一行。当我再次按 F1 键时,它应该从该文件发送下一行,依此类推。但事实并非如此。它正在小跑(连续)上从data.txt
文件发送数据,直到文件结束。
朋友们建议我解决这个问题。
答案 0 :(得分:0)
您可以在热键外部加载文件数据,然后在热键内循环并获取相应的行。我不确定这对于巨大的文件有多快。
; Uncomment this to load data from a file
;FileRead, fileData, C:\data.txt
; This is only for testing
fileData =
(LTrim
Line one
Line two
Line three
)
; Init lineIndex to 1
lineIndex := 1
F1::
Loop, Parse, fileData, `n
{
; A_Index holds the current loop-itteration
if (A_Index == lineIndex) {
SendInput, %A_LoopField%
; Increment lineIndex
lineIndex++
break
}
}
return
Esc::ExitApp