Autohotkey loop (читання файлу)

(Необов'язковий). Файл, який потрібно тримати відкритим, поки працює цикл. Якщо абсолютний шлях не заданий, вважається, що файл знаходиться в папці, зазначеної у змінній A_WorkingDir.

У тілі циклу використовуйте команду FileAppend тільки з одним параметром (текст, який потрібно записати), щоб запис йшла в цей файл. Додавання тексту в файл таким способом відбувається швидше, ніж коли FileAppend використовується в режимі з двома параметрами, так як файл не потрібно закривати і знову відкривати при кожній операції. Не забувайте ставити після тексту переклад рядка ( `n), якщо це бажано.

Цей файл не відкривається, якщо в нього нічого не пишеться. Це трапляється, якщо цикл не виконується жодного разу або якщо він ні разу не використовує команду FileAppend.

Двійковий режим: щоб текст додавався в файл в двійковому, а не в текстовому режимі, поставте зірочку перед ім'ям файлу. Це призведе до того, що кожен символ перекладу рядка ( `n) буде записаний як одиночний переклад рядка (LF), а не як стандартне для Windows поєднання повернення каретки і переведення рядка (CR + LF). Приклад: * C: \ My Unix File.txt. Навіть якщо зірочка відсутня, двійковий режим буде включений автоматично, якщо при першому використанні FileAppend в циклі записується текст буде містити пари символів повернення каретки і переведення рядка ( `r`n).

Екранування ком: на відміну від останнього параметра більшості інших команд, коми в OutputFile повинні екрануватися ( `,).

Примітки

Цикл читання файлу корисний у випадках, коли ви хочете обробити кожен рядок текстового файлу по черзі. Він працює швидше, ніж команда FileReadLine, тому що: 1) файл може залишатися відкритим протягом всієї операції; і 2) немає необхідності кожного разу знову сканувати файл в пошуках рядки з потрібним номером.

Вбудована змінна A_LoopReadLine існує всередині будь-якого циклу читання файлу. Вона містить текст поточного рядка, за винятком символів повернення каретки і переведення рядка, які відзначають кінці рядків. Якщо цикл читання файлу знаходиться всередині іншого такого ж циклу, поточна рядок внутрішнього циклу буде мати перевагу.

Можуть зчитуватися рядки довжиною до 65534 символів. Якщо довжина рядка більше цієї, її залишок буде лічений в наступній ітерації циклу.

Всередині циклу читання файлу часто використовуються команда StringSplit або цикл розбору, щоб розбирати вміст кожного рядка, що витягується з InputFile. Наприклад, якщо кожен рядок в InputFile складається з полів, розділених табуляцією, ці поля можуть вилучатись окремо, як в цьому прикладі:

Для завантаження цілого файлу в змінну використовуйте команду FileRead, так як вона працює швидше, ніж цикл (особливо для великих файлів).

Щоб одночасно відкрити кілька файлів, наслідуйте приклад, наведеним в описі команди DllCall.

Дивіться в описі команди Loop інформацію про блоках коду, командах Break, Continue і змінної A_Index (яка існує у всіх типах циклів).