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की जगह 'के साथ '\''और एकल उद्धरण के साथ स्ट्रिंग चारों ओर से घेरे, तो यह पथ है कि के साथ शुरू के साथ काम नहीं करता है ~/


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

के spaceसाथ संभाल \\

उदाहरण के लिए के App Store.appसाथ बदलें App\\ Store.app

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.