2014-10-12 210 views
0

親愛的朋友我試圖通過在autohotkey中使用Loop(讀取文件內容)命令將數據從.txt文件發送到另一個文件。但它並不是逐行發送它,即不斷髮送它。正如我由腳本是如下 -如何使用autohotkey從.txt文件逐行發送數據?

F1:: 

Loop, read, C:\Data.txt 
{ 
    Loop, parse, A_LoopReadLine, %A_Tab% 
    { 
     Send %A_LoopField% 
    } 
} 

在上述例子中我提出F1熱鍵。

在我的D:驅動器中有data.txt文件。現在我想,當我按F1鍵時,它應該從data.txt文件一次只發送一行。當我再次按F1鍵時,它應該從該文件發送下一行,依此類推。但它並沒有這樣做。它將小步(連續)上的文件從data.txt發送到文件末尾。

朋友們好心的建議我解決這個問題。

回答

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 
相關問題