AppleScript — Как добавить текст в конец файла

#text #append #applescript #rdp

#текст #добавить #applescript #rdp

Вопрос:

Я хотел бы иметь скрипт, который я мог бы запускать, где он в основном берет файл .rdp, который я выбрал в finder, и добавляет строку текста в его конец.

например

Я загружаю файл .rdp для использования в Microsoft Remote Access, и для ускорения моего рабочего процесса я хотел бы добавить текст «Использовать Multimon: i: 1» в конце перед его запуском, чтобы мне не приходилось каждый раз открывать настройки.

Я не слишком знаком с AppleScript, поэтому был бы признателен за любой совет о том, как этого добиться.

Спасибо!

Ответ №1:

Насколько я понимаю, файлы .RDP сохраняются в обычном текстовом формате. В этом случае, используя do shell script команду в AppleScript, добавить текст в файл довольно просто. Следующий код AppleScript должен сработать для вас.

Вставьте следующий код в новый документ Script Editor.app. Затем, когда ваш RDP-файл выбран в данный момент в Finder, запустите код в Script Editor.app, и он добавит текст к вашему файлу.

 property addText : "Use Multimon:i:1"

tell application "Finder" to set selectedFile to POSIX path of ((get selection) as alias)

do shell script "echo " amp; quoted form of addText amp; " >> " amp; quoted form of selectedFile
  

Комментарии:

1. Это первое решение, которое пришло мне в голову, запустить скрипт bash для добавления текста. OP может продвинуть это решение дальше, используя Automator для создания рабочего процесса быстрого действия. Триггер заключается в том, что при выборе файла в Finder запускается приведенный выше AppleScript (с небольшими изменениями). Таким образом, вам просто нужно щелкнуть правой кнопкой мыши по файлу RDP в finder, и скрипт будет доступен для запуска.

Ответ №2:

В настоящее время это работает для выбранного файла с расширением ‘txt’. Протестируйте его, и если у вас это работает, отредактируйте его с нужным расширением.

Инструкции ‘if’ предназначены для того, чтобы гарантировать, что вы случайно не добавите текст в двоичный файл, который может повредить этот файл. ‘Return’ означает, что ваш текст появится в отдельной строке. Если вы этого не хотите, удалите ‘return amp; ‘. Для получения подробной информации об «открытии для доступа», пожалуйста, смотрите Руководство по языку: Справочник команд. На той же странице вы можете найти «закрыть доступ».

 tell application "Finder"
    set tFile to selection as alias
    
    if name extension of tFile is "txt" then
        set corR to true
    else
        display alert "Are you sure you've selected the correct file?"
        set corR to false
    end if
end tell

if corR is true then
    set ab to open for access tFile with write permission
    write return amp; "Use Multimon:i:1" to ab starting at eof
    close access ab
end if