Яндекс.Метрика

FileAppend -Autohotkey

Добавляет текст к файлу (создавая файл при необходимости).

Добавляет текст к файлу (создавая файл при необходимости).

FileAppend [, Text, Filename]

Параметры

Text Текст, который будет добавлен. Этот текст может включать в себя переводы строки (`n) для перехода на новую строку. Вдобавок длинная строка может быть разбита на несколько более коротких посредством секции продолжения.

Если параметр Text пустой, будет создан пустой файл (если файл уже существует, будет обновлено его время изменения).

Если Text задан как %ClipboardAll% или как другая переменная, которой ранее было присвоено значение ClipboardAll, файл будет в любом случае переписан целиком (т.е. команда FileDelete здесь не нужна).
Filename Имя целевого файла. Если полный путь к нему не задан, он ищется/создаётся в папке, указанной в переменной A_WorkingDir.

Binary mode: двоичный режим. Для записи в двоичном (а не в текстовом) режиме поставьте звёздочку перед именем файла. Это приведёт к тому, что каждый символ перевода строки (`n) будет записан в виде одиночного символа перевода строки (LF) вместо стандартной для Windows комбинации CR+LF (возврат каретки + перевод строки). Пример: *C:\My Unix File.txt

Если файл не был уже открыт (не находится в цикле чтения файла), он автоматически открывается в двоичном режиме, если Text содержит пары символов возврата каретки и перевода строки (`r`n). Другими словами, опция, включаемая звёздочкой, задействуется автоматически. Однако явное указание звёздочки, если Text содержит `r`n, повышает производительность, поскольку программе не нужно сканировать Text в поисках `r`n.

Standard Output (std class="ntd"out): указание звёздочки (*) вместо имени файла приведёт к тому, что текст будет послан в стандартный выходной поток (std class="ntd"out). Такой текст может быть перенаправлен в файл, передан по конвейеру другой программе или перехвачен некоторыми текстовыми редакторами (см. описание директивы #ErrorStd class="ntd"Out). Например, следующая команда может быть введена в окне командной строки:
"%ProgramFiles%\AutoHotkey\AutoHotkey.exe" "My Script.ahk" > "Error Log.txt"
Однако текст, посланный в стандартный выходной поток, не будет виден в том же окне, в котором вводится команда. Это можно обойти, направив вывод скрипта по конвейеру другой команде или программе. Например:
  1. "%ProgramFiles%\AutoHotkey\AutoHotkey.exe" "My Script.ahk" | more
  2. For /F "tokens=*" %L in ('""%ProgramFiles%\AutoHotkey\AutoHotkey.exe" "My Script .ahk""') do @Echo %L

ErrorLevel

Равен 1, если были проблемы, иначе 0.

Примечания

Для того, чтобы полностью переписать существующий файл, удалите его с помощью FileDelete перед тем, как использовать FileAppend.

Примеры

FileAppend, Ещё одна строка.`n, C:\Мои документы\Test.txt ; Следующий пример использует секцию продолжения, чтобы скрипт было удобнее читать и редактировать. FileAppend, ( Строка текста. По умолчанию, возврат каретки (Enter) между этой строкой и предыдущей будет записан в файл. В начале этой строки находится табуляция; по умолчанию, эта табуляция также записывается в файл. Ссылки на переменные наподобие %Var% по умолчанию раскрываются. ), C:\My File.txt ; Следующий пример демонстрирует, как можно автоматизировать загрузку на FTP, используя встроенную ; в операционную систему команду для работы с FTP. Скрипт проверялся в Windows XP и 98se. FTPCommandFile = %A_Scriptd class="ntd"ir%\FTPCommands.txt FTPLogFile = %A_Scriptd class="ntd"ir%\FTPLog.txt FileDelete %FTPCommandFile% ; На случай, если предыдущий запуск был прерван преждевременно. FileAppend, ( open host.domain.com username password binary cd htd class="ntd"ocs put %ПеременнаяСодержащаяИмяЦелевогоФайла% delete SomeOtherFile.htm rename OldFileName.htm NewFileName.htm ls -l quit ), %FTPCommandFile% RunWait %comspec% /c ftp.exe -s:"%FTPCommandFile%" >"%FTPLogFile%" FileDelete %FTPCommandFile% ; Удалить по соображениям безопасности. Run %FTPLogFile% ; Открыть лог-файл для просмотра.
Теги страницы: