次のコードを使用できます。
$filename = "filename.txt"
Run("notepad.exe " & $filename)
WinWaitActive($filename & " - Notepad")
$lines= StringRegExp(FileRead($filename), @CR, 3)
$count = UBound($lines)
For $i = 0 To $count
Send("+{END}")
Send("^C")
Sleep (1000)
Send("{END}")
Sleep (1000)
Send(" ")
Send("^V")
Send("{HOME}")
Send("{DOWN}")
Next
タイトルにファイル名が含まれるウィンドウを待つ必要があります。ファイル名にスペースが含まれている場合は、notepad.exe の後にパラメータを引用符で囲む必要があります。
どういうわけか、行番号の数を取得する必要があります。AutoIt でファイル全体を読み取り、「キャリッジ リターン」を検索します。結果の配列には、行番号のサイズがあります。その番号は、For-...-To-...-ループで使用されます。
スリープ時間を 100ms に減らすことができます。また、FileReadLine はファイルの終わりに達するまで使用できるため、FileReadLine とおそらく FileWriteLine を使用してタスクを実行する方がはるかに簡単です。@error を -1 に設定します。詳細については、ドキュメントを参照してください。