Sự cố với khoảng trống khi thực thi lệnh shell trong AppleScript


12

Đoạn mã sau để lọc thư mục đệ quy không hoạt động vì tôi không thể vượt qua thư mục Hỗ trợ ứng dụng .

try
    do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper Data/Shockwave Flash"
end try
  • Nếu tôi sử dụng ~/Library/Application Support/Google...không có gì xảy ra. Đó là dự kiến.
  • Nếu tôi sử dụng, ~/Library/Application\ Support/Google...tôi không thể lưu tập lệnh do thông báo lỗi:Syntax Error Expected “"” but found unknown token.

Làm thế nào tôi có thể làm việc xung quanh lỗi này?

Câu trả lời:


10

Thử:

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

8

Bạn phải tăng gấp đôi dấu gạch chéo ngược và cũng thoát khỏi các khoảng trắng khác:

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

hoặc thoát khỏi con đường một cách khác:

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

quoted form ofthay thế 'bằng '\''và bao quanh chuỗi bằng các dấu ngoặc đơn, vì vậy nó không hoạt động với các đường dẫn bắt đầu bằng ~/.


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

Xử lý spacevới \\.

Ví dụ thay thế App Store.appbằng App\\ Store.app.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.