Проблема з порожніми пробілами при виконанні команд оболонки в AppleScript


12

Наступний код для рецидивування каталогів рекурсивно не працює, тому що я не можу пройти папку підтримки програм .

try
    do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper Data/Shockwave Flash"
end try
  • Якщо я використовую, ~/Library/Application Support/Google...нічого не відбувається. Що очікується.
  • Якщо я використовую, ~/Library/Application\ Support/Google...я не можу зберегти сценарій через повідомлення про помилку:Syntax Error Expected “"” but found unknown token.

Як я можу обійти цю помилку?

Відповіді:


10

Спробуйте:

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

8

Вам потрібно подвоїти нахил у косому напрямку, а також уникнути інших пробілів:

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

або втекти зі шляху іншим способом:

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

quoted form ofзамінює 'з '\''і оточує рядок з одинарними лапками, тому він не працює з доріжками , які починаються з ~/.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.