¿Cómo escribir un servicio para obtener una cadena?

1

Quiero escribir un servicio en macOS, y solo devuelve una cadena, como mi dirección de correo electrónico. Entonces, en cualquier aplicación, si necesito una dirección de correo electrónico de entrada, simplemente presiono el mismo acceso directo.

Escribo un servicio en automator y ejecuto el script de shell:

#!/usr/bin echo "[email protected]"

pero solo envía el texto a la salida estándar en lugar de la entrada de la aplicación.

    
pregunta Sting Jia 12.04.2017 - 05:26

1 respuesta

2

Puede agregar un comando "ejecutar applescript" a su flujo de trabajo del automatizador

set the clipboard to "[email protected]"
tell application "System Events"
    keystroke (the clipboard)
end tell

OR

tell application "System Events"
    keystroke "[email protected]"
end tell

Puedes agregar este AppleScript a tu flujo de trabajo de Automator para poder insertar la hora y la fecha desde tu portapapeles

set AppleScript's text item delimiters to ","
set theLongDate to (current date)
set theLongDate to (date string of theLongDate)
set currentMonth to (word 1 of text item 2 of theLongDate)
set currentDay to (word 2 of text item 2 of theLongDate)
set currentYear to (word 1 of text item 3 of theLongDate)
set monthList to {January, February, March, April, May, June, July, August, September, October, November, December}
repeat with x from 1 to 12
    if currentMonth = ((item x of monthList) as string) then
        set theRequestNumber to (text -2 thru -1 of ("0" & x))
        exit repeat
    end if
end repeat
set currentMonth to theRequestNumber
set currentDay to (text -2 thru -1 of ("0" & currentDay))
set theShortDate to (currentMonth & "/" & currentDay & "/" & currentYear) as string
set CurrentTime to (time string of (current date))
set CurrentTimeandShortDate to (theShortDate & " @ " & CurrentTime)

set the clipboard to the result -- the result formatted like this 04/16/2017 @ 12:27:00 AM

-- If you only want to copy the time and date to your clip board without sending the keystrokes, Then comment out the next three lines

tell application "System Events"
    keystroke (the clipboard)  
end tell
    
respondido por el wch1zpink 12.04.2017 - 19:37

Lea otras preguntas en las etiquetas