15 votos

Problema con los espacios vacíos al ejecutar comandos del shell en AppleScript

El siguiente código para purgar un directorio de forma recursiva no funciona porque no puedo pasar el Apoyo a la aplicación carpeta.

try
    do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper Data/Shockwave Flash"
end try
  • Si utilizo ~/Library/Application Support/Google... no pasa nada. Lo cual es de esperar.
  • Si utilizo ~/Library/Application\ Support/Google... No puedo guardar el script debido al mensaje de error: Syntax Error Expected “"” but found unknown token.

¿Cómo puedo evitar este error?

13voto

Tienes que duplicar las barras invertidas y también escapar los otros espacios:

do shell script "rm -r ~/Library/Application\\ Support/Google/Chrome/Default/Pepper\\ Data/Shockwave\\ Flash"

o escapar del camino de otra manera:

do shell script "rm -r ~/'Library/Application Support/Google/Chrome/Default/Pepper Data/Shockwave Flash'"

quoted form of sustituye a ' con '\'' y rodea la cadena con comillas simples, por lo que no funciona con rutas que empiecen por ~/ .

11voto

adayzdone Puntos 1258

Inténtalo:

set pathwithSpaces to "/Users/John/Desktop/This is a test.docx"
do shell script "rm -r " & quoted form of pathwithSpaces

6voto

Abhishek Jain Puntos 141
do shell script "open -n /Applications/App\\ Store.app"

Manejar el space con \\ .

Por ejemplo, sustituir App Store.app con App\\ Store.app .

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