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

10

El siguiente código para purgar un directorio de forma recursiva no funciona porque no puedo pasar de la carpeta Application Support .

try
    do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper Data/Shockwave Flash"
end try
  • Si uso ~/Library/Application Support/Google... no pasa nada. Lo que se espera.
  • Si uso ~/Library/Application\ Support/Google... no puedo guardar la secuencia de comandos debido al mensaje de error: Syntax Error Expected “"” but found unknown token.

¿Cómo puedo evitar este error?

    
pregunta gentmatt 21.02.2013 - 19:01

3 respuestas

10

Prueba:

set pathwithSpaces to "/Users/John/Desktop/This is a test.docx"
do shell script "rm -r " & quoted form of pathwithSpaces
    
respondido por el adayzdone 21.02.2013 - 19:24
7

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

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

o escapar de la ruta de alguna otra manera:

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

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

    
respondido por el user495470 22.02.2013 - 07:33
1
do shell script "open -n /Applications/App\ Store.app"

Maneja el space con \ .

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

    
respondido por el Abhishek Jain 19.05.2018 - 18:59

Lea otras preguntas en las etiquetas