Masalah dengan ruang kosong saat menjalankan perintah shell di AppleScript

12

Kode berikut untuk membersihkan direktori secara rekursif tidak berfungsi karena saya tidak bisa melewati folder Dukungan Aplikasi .

try
    do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper Data/Shockwave Flash"
end try
  • Jika saya menggunakan ~/Library/Application Support/Google...tidak ada yang terjadi. Yang diharapkan.
  • Jika saya menggunakan ~/Library/Application\ Support/Google...saya tidak bisa menyimpan skrip karena pesan kesalahan:Syntax Error Expected “"” but found unknown token.

Bagaimana saya bisa mengatasi kesalahan ini?

gentmatt
sumber

Jawaban:

10

Mencoba:

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

Anda harus menggandakan backslash dan juga melarikan diri dari ruang lain:

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

atau keluar dari jalan dengan cara lain:

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

quoted form ofmenggantikan 'dengan '\''dan mengelilingi string dengan tanda kutip tunggal, sehingga tidak bekerja dengan jalur yang dimulai dengan ~/.

Lri
sumber
3
do shell script "open -n /Applications/App\\ Store.app"

Tangani spacedengan \\.

Misalnya ganti App Store.appdengan App\\ Store.app.

Abhishek Jain
sumber