টার্মিনাল-স্টাইলের পথে অ্যাপলস্ক্রিপ্টের পথটি কীভাবে পরিবর্তন করবেন?


11

আমার একটি কাস্টম পরিষেবা রয়েছে যা আমি অটোমেটারে তৈরি করেছি (আমি ওএস এক্স 10.6.5 এ আছি)। পরিষেবাটি একটি অ্যাপলস্ক্রিপ্ট কার্যকর করে যা ঘুরেফিরে শেল স্ক্রিপ্ট কার্যকর করে। অ্যাপল স্ক্রিপ্ট এখানে:

on run {input, parameters}
    -- do shell script "/usr/bin/find " & input & " -type f -name .DS_Store -delete -print"
    display alert "Path: " & input
end run

সমস্যাটি হ'ল, পরিষেবাটি (চলকগুলিতে input) অতিক্রম করা পথটি দেখে মনে হচ্ছে:

Macintosh HD:Users:Matthew:Documents:Programming:Apple Scripts:

এবং কমান্ডটি সঠিকভাবে সম্পাদন করার জন্য, পথটির মতো দেখতে হবে:

Macintosh\ HD/Users/Matthew/Documents/Programming/Apple\ Scripts/

সুতরাং, দ্বিতীয় পথের প্রথম পথটি অনুবাদ করার কোনও উপায় আছে? আমি একটি মূল ফাংশন আশা করি যা এটি পরিচালনা করে। তবে আমি মনে করি কোন ধরণের রেইজেক্স / সন্ধান / প্রতিস্থাপন / ইত্যাদি কাজ করবে? আমি এইচটিএমএল / সিএসএস / জাভাস্ক্রিপ্ট / পিএইচপি এর সাথে পরিচিত, কোকো / অ্যাপলস্ক্রিপ্ট / সি এর সাথে নয়। কোনও দিকনির্দেশ বা পরামর্শ দুর্দান্ত হবে!

উত্তর:



6

ঠিক আছে ... আমি বুঝতে চেয়েছি এটি সহজ ছিল। কিছু গুগলিংয়ের পরে মনে হচ্ছে আমার এখানে যা প্রয়োজন তা হ'ল POSIX path ofকমান্ড। এটি প্রদত্ত পাথটিকে ইউনিক্স শৈলীর পথে রূপান্তর করে, যা আপনি টার্মিনালে দেখবেন / ব্যবহার করবেন এমন ধরণের পথ। তাই:

POSIX path of input

আমাকে এর মতো পথ দেয়:

/Users/Matthew/Documents/Programming/Apple Scripts/

এটি /হার্ডড্রাইভের নাম না করে পাথের শুরুতে আপনার একটি প্রয়োজন বলে মনে করা হয় । এটি অবশ্য ফাঁকে \ফাঁকা স্থানগুলি (বা বিশেষ অক্ষরগুলি পরিচালনা করে না )। সুতরাং, এখানে অন্যান্য উত্তর হিসাবে যেমন উল্লেখ করা হয়েছে, আপনাকে সেই জায়গাগুলির (বা বিশেষ অক্ষরগুলি) আক্ষরিক অর্থে ব্যাখ্যা করার জন্য আপনার পথটি উদ্ধৃতি ( "বা ') এ স্থাপন করা উচিত। আপনি ব্যবহার করে এটি সম্পাদন quoted form of। এটা এখানে:

quoted form of the POSIX path of the input
-- gives a path like: '/Users/Matthew/Documents/Programming/Apple Scripts/'

2
/পাথ শুরুতে বুট ভলিউম হয়। অন্যান্য হার্ড ড্রাইভগুলি চলছে/Volumes/
জোশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.