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?

Jawaban:


10

Mencoba:

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

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 ~/.


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

Tangani spacedengan \\.

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.