Come posso usare AppleScript per digitare del testo in una nuova finestra?

0

Sto provando a creare un applescript che si scriverà in una nuova finestra di Applescript Editor. Ma non riesco a capire come si incolli con le citazioni. Il codice che ho adesso è

tell application "System Events"
    keystroke "n" using command down
    keystroke "tell application (System Events) keystroke (n) using command down end tell"
end tell
    
posta PLASMAGHOST 27.09.2016 - 17:34
fonte

2 risposte

1

Le virgolette che devono essere letterali devono essere sottoposte a escape con una barra rovesciata e invece di usare keystroke , usa il seguente esempio per creare un nuovo documento AppleScript contenente il codice desiderato:

tell application "AppleScript Editor"
    set text of (make new document) to "tell application \"System Events\"\n\tkeystroke \"n\" using command down\nend tell"
end tell

Copia e incolla l'esempio codice sopra in un nuovo documento AppleScript e premi il pulsante Compila. Sembrerà quindi:

tell application "AppleScript Editor"
    set text of (make new document) to "tell application \"System Events\"
    keystroke \"n\" using command down
end tell"
end tell

Quindi premi il pulsante Esegui e creerai un nuovo documento AppleScript che contiene quanto segue:

tell application "System Events"
    keystroke "n" using command down
end tell

Che se poi premi il pulsante Esegui di questo nuovo documento, crea un nuovo documento AppleScript vuoto.

Nota: a seconda della versione di OS X / macOS, la riga tell application "AppleScript Editor" potrebbe essere tell application "Script Editor" . Puoi sempre incollare l'esempio code , come è, in Script Editor e verrà automaticamente rimossa la porzione Apple da AppleScript per mostrare come tell application "Script Editor" .

    
risposta data 27.09.2016 - 18:13
fonte
0

Probabilmente stai cercando un AppleScript quine . Non sono un programmatore né un informatico, quindi non posso davvero spiegare come scrivere codice autoreferenziale. Additional Non so se un linguaggio di script (di alto livello) come AppleScript sia abbastanza potente da produrre quine arbitrarie.

Ho trovato solo due esempi di funzioni quinte di AppleScript che potrebbero aiutarti a crearne uno personale - solo il primo crea un nuovo AppleScript:

set d to "on string_from_ASCII_numbers(x)
    set s to ASCII character of item 1 of x
    repeat with i from 2 to number of items in x
        set s to s & (ASCII character of item i of x)
    end repeat
end string_from_ASCII_numbers
set set_d_to to {115, 101, 116, 32, 100, 32, 116, 111, 32}
set scriptEditor to {83, 99, 114, 105, 112, 116, 32, 69, 100, 105, 116, 111, 114}
set quine to string_from_ASCII_numbers(set_d_to) & quote & d & quote & return & d
tell application string_from_ASCII_numbers(scriptEditor) to make new document with properties {contents:quine}"
on string_from_ASCII_numbers(x)
    set s to ASCII character of item 1 of x
    repeat with i from 2 to number of items in x
        set s to s & (ASCII character of item i of x)
    end repeat
end string_from_ASCII_numbers
set set_d_to to {115, 101, 116, 32, 100, 32, 116, 111, 32}
set scriptEditor to {83, 99, 114, 105, 112, 116, 32, 69, 100, 105, 116, 111, 114}
set quine to string_from_ASCII_numbers(set_d_to) & quote & d & quote & return & d
tell application string_from_ASCII_numbers(scriptEditor) to make new document with properties {contents:quine}

Link per il download: quine.applescript.zip

set s to "on run {s}
  set pre to «data utxt0073006500740020007300200074006f00200022» as text
  set post to «data utxt0022000a00720075006e0020007300630072006900700074002000730020007700690074006800200070006100720061006d006500740065007200730020007b0073007d»
  pre & s & post
end run"
run script s with parameters {s}

Link per il download: quine.scpt

    
risposta data 28.09.2016 - 03:15
fonte

Leggi altre domande sui tag