1 votos

¿Cómo escribir una barra invertida en Apple script?

Quiero hacer esto desde la terminal con un Apple Script:

/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/MacOS/join -o output inpath1 inpath2

Sin embargo, no sé cómo escribir la barra invertida sin que genere un error.

Esto es solo con espacios vacíos:

set inpath1 to "/Users/user1/Dropbox/z_Scripts/ex1.pdf"
set inpath2 to "/Users/user1/Dropbox/z_Scripts/ex2.pdf"

do shell script "/System/Library/Automator/Combine\\ PDF\\ Pages.action/Contents/MacOS/join -o output " & inpath1 & "\\ " & inpath2

¿Cómo agregar la barra invertida? ¿Alguna idea?

0 votos

Esto se debe a que agregar una barra invertida en medio de una cadena allí corta la cadena en donde se encuentra la barra invertida.

0 votos

¿Cuál es el error dado?

0 votos

Esto se siente como un Problema XY ¿Qué es lo que estás intentando hacer? Presumiblemente tu acción se llama 'Combina PDF Pages.action' y no 'Combine\ PDF\ Pages.action' por lo que tus escapes ya están allí.

2voto

David Anderson Puntos 2189

Bueno, existe la forma AppleScript:

set inpath1 to quoted form of "/Users/user1/Dropbox/z_Scripts/ex1.pdf"
set inpath2 to quoted form of "/Users/user1/Dropbox/z_Scripts/ex2.pdf"
do shell script quoted form of "/System/Library/Automator/Combine PDF Pages.action/Contents/MacOS/join" & " -o output " & inpath1 & " " & inpath2

El comando ejecutado por bash para el script anterior es:

'/System/Library/Automator/Combine PDF Pages.action/Contents/MacOS/join' -o output '/Users/user1/Dropbox/z_Scripts/ex1.pdf' '/Users/user1/Dropbox/z_Scripts/ex2.pdf'

Sin embargo, la forma en la que interpreto tu pregunta me lleva a pensar que quieres esto:

on quotedform from s
    do shell script "printf '%q' " & quoted form of s
end quotedform

set inpath1 to quotedform from "/Users/user1/Dropbox/z_Scripts/ex1.pdf"
set inpath2 to quotedform from "/Users/user1/Dropbox/z_Scripts/ex2.pdf"
set z to (quotedform from "/System/Library/Automator/Combine PDF Pages.action/Contents/MacOS/join") & " -o output " & inpath1 & " " & inpath2

El comando ejecutado por bash para el script anterior es:

/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/MacOS/join -o output /Users/user1/Dropbox/z_Scripts/ex1.pdf /Users/user1/Dropbox/z_Scripts/ex2.pdf

Creo que utilizar quoted form of solo sería más seguro. Imagino que hay situaciones en las que quotedform from podría fallar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X