AppleScript में एक पथ के अंदर एक चर का उपयोग कैसे करें?


2
tell application "System Events"
name of current user
end tell
tell application "System Events"
set answer to name of current user
end tell
tell application "Finder"
delete ((POSIX file "/Users/answer/Desktop/untitled folder"))
end tell
tell application "Finder"
empty the trash
end tell

मैं इस विशिष्ट फ़ोल्डर को हटाने के लिए एक सार्वभौमिक कोड बनाना चाहता हूं लेकिन मैं उद्धृत मार्ग में अपना चर (= उत्तर) काम नहीं कर सकता।

answer

delete ((POSIX file "/Users/answer/Desktop/untitled folder"))

जवाबों:


1

स्ट्रिंग में अपने चर को प्राप्त करने के लिए आपको स्ट्रिंग कॉन्फैनेटेशन का उपयोग करने की आवश्यकता है । विशेष रूप से आपके मामले में कुछ "/Users/" & answer & "/Desktop/untitled folder"काम करना चाहिए, हालांकि आपको यहाँ वर्णित के रूप में कोष्ठक में लपेटने की आवश्यकता हो सकती है


1

AFAIR के लिए आपको स्ट्रिंग कॉन्टेनेशन (जैसे उसके उत्तर में उल्लिखित धन) का उपयोग करना होगा और इसे स्ट्रिंग के रूप में कोलोन पथ में बदलना होगा:

-- Get and set name of current user
tell application "System Events"
    set UserName to name of current user
end tell

-- Create POSIX path string
set PosixPath to "/Users/" & UserName & "/Desktop/" & "untitled folder"

-- Convert POSIX path into colon path
set ColonPath to (POSIX file PosixPath) as string

-- Delete folder and empty trash
tell application "Finder"
    delete ColonPath
end tell

tell application "Finder"
    empty the trash
end tell

उपयोगकर्ता द्वारा परिभाषित चर के बिना एक सरल संस्करण लेकिन AppleScript सूट "फाइंडर बेसिक्स" ( होम (फ़ोल्डर, आर / ओ): होम डायरेक्टरी ) में फाइंडर प्रॉपर्टी पर वापस लौटना है:

tell application "Finder"
    delete folder "untitled folder" of folder "Desktop" of home
end tell

tell application "Finder"
    empty the trash
end tell

कृपया "उत्तर" जैसे सरल चर नामों का उपयोग न करें क्योंकि वे AppleScript के आरक्षित चर / स्ट्रिंग्स के साथ संघर्ष कर सकते हैं!


1

के निम्नलिखित लाइनों AppleScript कोड के सभी बदल देता कोड अपने ओपी में:

set thisFolder to POSIX path of (path to desktop folder as string) & "untitled folder"
try
    tell application "System Events" to delete folder thisFolder
end try

ध्यान दें कि यह सीधे मिटाया जाता हैthisFolder और इसकी सामग्री, कूड़ेदान को दरकिनार करती है , इसलिए सुनिश्चित करें कि इसका उपयोग करने से पहले आप यही चाहते हैं!

जैसा कि कोडित किया गया है, यदि thisFolderमौजूद नहीं है, तो try कमांड इसे कोड के फेटिंग हॉल्टिंग से रखता है । दूसरे शब्दों में, आपको एक त्रुटि संदेश नहीं मिलेगा और यह स्क्रिप्ट में अतिरिक्त कोड को संसाधित करना जारी रखेगा , यदि कोई हो।


1
मुझे आपके "KISS" दृष्टिकोण पसंद है (जैसा कि आपने एक अलग पोस्ट में दूसरे दिन का उल्लेख किया है) अपने जवाब के साथ +1; पी
wch1zpink

0

यदि आप उस उपयोगकर्ता के रूप में लॉग इन करते हुए स्क्रिप्ट चलाते हैं, जिसके लिए आप निर्देशिका हटाना चाहते हैं, तो आप इसे अपनी फ़ाइल पथ के रूप में उपयोग कर सकते हैं ~/Desktop/ tilde (~) प्रतीक/Users/[Current username]


AppleScript सापेक्ष पथनाम नहीं लेता है। ~ / डेस्कटॉप एक त्रुटि फेंक देगा।
CJK

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