Usa il percorso del file copiato nel terminale (da applescript e automator)

2

Sto cercando di creare un flusso di lavoro semplice che verrà utilizzato per aiutare le persone non tecniche a utilizzare tesseract OCR. Non ho problemi a usarlo da solo, ma altri probabilmente preferiscono le GUI, quindi sto lavorando al seguente flusso di lavoro dell'autore (immagine sotto): link

Script:

set appName to "Terminal"

if application appName is running then
    tell application "Terminal"
        activate
        do script "tesseract /Users/jackson/Downloads/OCRTemp.jpg /Users/jackson/Downloads/OCRTemp.txt"
    end tell

else
    tell application "Terminal"
        activate
        do script "tesseract /Users/jackson/Downloads/OCRTemp.jpg /Users/jackson/Downloads/OCRTemp.txt" in front window
    end tell
end if

Il problema è che nella riga "tesseract /Users/jackson/Downloads/OCRTemp.jpg /Users/jackson/Downloads/OCRTemp.txt" vorrei sostituire la prima estensione di file con gli appunti. Non essendo esperto nell'uso di bash, non sono del tutto sicuro di cosa fare. Penso che parte della confusione sia che sto usando un applescript per eseguire un comando di terminale, quindi non sono sicuro di usare il codice o il terminale per ottenere la variabile.

    
posta Talos Potential 09.07.2018 - 21:19
fonte

1 risposta

2

Nessuna necessità di Automator.

Usa solo AppleScript (modifica /opt/local/bin/tesseract all'output di which tesseract ):

set myFile to (choose file with prompt "Choose a file to convert") # Get the file to convert
set myFilePOSIX to the POSIX path of myFile # Get terminal friendly path
set myLocation to (choose folder with prompt "Choose a location to save your file") # Get location to save the file
set myLocationPOSIX to the POSIX path of myLocation
tell application "Finder"
    display dialog "Choose a file name" default answer (name of file myFile as string) # Type the name the file
    set myName to the text returned of the result # Get what user typed
end tell
do shell script "/opt/local/bin/tesseract " & quoted form of myFilePOSIX & " " & quoted form of myLocationPOSIX & quoted form of myName # Do the terminal command
    
risposta data 09.07.2018 - 21:57
fonte

Leggi altre domande sui tag