Проблема AppleScript: 'сделайте сценарий оболочки' с обратными косыми чертами '/'

Я пытаюсь создать апплет, который берет выбранные пункты в Средстве поиска и создает ist ссылок RTF в буфере обмена, с помощью AppleScript.

Код:

tell application "Finder" to set s to selection
set r to "{\\rtf1"
repeat with i in s
    set t to "Download " & name of i
    set p to POSIX path of (i as text)
    set sed to "echo " & quoted form of p & " | sed s_/Users/0/Dropbox/Public_http://dl.dropbox.com/u/DBid_"
    set l to (do shell script sed) & "?dl"
    set r to r & "{\\field{\\*\\fldinst{HYPERLINK \"" & l & "\"}}{\\fldrslt " & t & "}}\\par "
end repeat
set r to r & "}"
set fc to "echo " & quoted form of r & " | pbcopy"
do shell script fc

Все работает отлично, кроме заключительного "эха" к "pbcopy".

Обратные косые черты искажаются и интерпретировали как управляющие коды вместо кодов RTF!

Я пытался копировать окончательное значение var ФК вручную и вставить его в Терминале и работавшем отлично.

Но когда это прибывает из AppleScript, "\" отправляются как "\\", и это повреждает коды RTF.

Спасибо за любую справку!

1
задан 15.02.2011, 22:47

2 ответа

Я нашел решение в этом потоке: http://macscripter.net/viewtopic.php?id=26498

tell application "Finder" to set s to selection
set r to "\"{\\rtf1"
repeat with i in s
    set t to "Download " & name of i
    set p to POSIX path of (i as text)
    set sed to "echo " & quoted form of p & " | sed s_/Users/0/Dropbox/Public_http://dl.dropbox.com/u/DBid_"
    set l to (do shell script sed) & "?dl"
    set r to r & "{\\field{\\*\\fldinst{HYPERLINK \"" & l & "\"}}{\\fldrslt \"" & t & "\"}}\\par "
end repeat
set r to r & "}\""
do shell script "/bin/bash -c 'echo " & r & " | pbcopy'"
3
ответ дан 12.12.2019, 10:35

Необходимо ли использовать pbcopy для копирования текста в буфер обмена? AppleScript имеет возможность сделать это отдельно, с помощью чего-то вроде этого:

set the clipboard to r
0
ответ дан 12.12.2019, 10:35

Теги

Похожие вопросы