অ্যাপলস্ক্রিপ্ট: স্ট্রিংয়ের জন্য ফোল্ডারে ফাইলগুলি কীভাবে অনুসন্ধান করতে হবে এবং ফাইন্ডারে ফলাফল প্রদর্শন করা যায়?


2

আমি একটি স্বয়ংক্রিয়-ভিত্তিক পরিষেবা তৈরি করার চেষ্টা করছি যা নির্বাচিত পাঠ্যের জন্য আমার কম্পিউটার অনুসন্ধান করে। (আমি যখন "আমার কম্পিউটার" বলি তখন আমি বিশেষত ম্যাকিনটোস এইচডি বোঝাই , এটি এই ম্যাক নয় , কারণ এই ম্যাকটিতে বাহ্যিক হার্ড ড্রাইভ অন্তর্ভুক্ত রয়েছে))

আমি অনুসন্ধানের ফলাফলগুলি একটি নতুন ফাইন্ডার উইন্ডোতে উপস্থিত হওয়া চাই।

অ্যাপসক্রিপ্ট বা শেল স্ক্রিপ্টে এই প্রোগ্রামটিমেটিকভাবে সম্পাদন করা কি সম্ভব? এটি সম্ভব বলে মনে হচ্ছে না, তবে এটি আদর্শ হবে।


যদি এটি সত্যিই প্রোগ্রামগতভাবে করা না যায় তবে আমি এটি "ম্যানুয়ালি" সম্পাদন করে ঠিক আছি। কীভাবে সেই রুটটি প্রকাশ হতে পারে তার উদাহরণ এখানে রয়েছে:

tell application "Finder"
    activate
    open (POSIX file "/")
end tell

tell application "System Events"
    keystroke "f" using command down
    keystroke input
end tell

তবে কীভাবে অনুসন্ধানের ডিরেক্টরিটি পরিবর্তন করতে হয় তা আমি জানি না। (আমি স্ক্রিপ্টিং মাউস ক্লিকগুলি এড়িয়ে যাওয়ার চেষ্টা করছি।) ডিফল্টরূপে, যখন কোনও ব্যবহারকারী ফাইন্ডারে অনুসন্ধান শুরু করে (যেমন, যখন ব্যবহারকারী ⌘ command+ টিপেন F) তখন অনুসন্ধান ডিরেক্টরিটি "এই ম্যাক" হয়, ফাইন্ডারের উইন্ডোর ডিরেক্টরি নির্বিশেষে is যে অনুসন্ধান ফাংশন ডাকা হয়েছিল।


আমি আমার উত্তর আপডেট করেছি, দয়া করে অধ্যায় দেখুন: একটি বিকল্প, ডিফল্ট ছেড়ে চলে যেতে হয় ফাইন্ডারে জন্য পছন্দের : কোনো অনুসন্ধান করার সময় থেকে খোঁজ এই Mac : এবং নিচের কাজগুলো
user3439894

উত্তর:


2

যদি আপনি কোনও নির্দিষ্ট অনুসন্ধানকারীর পছন্দ পরিবর্তন করতে আপত্তি না করেন , যেমন কোনও অনুসন্ধান সম্পাদন করার সময়:, তবে নিম্নলিখিতগুলি কাজ করবে।

প্রথমে ফাইন্ডারে > পছন্দসমূহ ... > উন্নত , কোনও অনুসন্ধান সম্পাদনের সময় সেট করুন : এতে : বর্তমান ফোল্ডারটি অনুসন্ধান করুন

এর পরে, একটি তৈরি Automator পরিষেবা কর্মপ্রবাহ তার ডিফল্ট সেটিংস (সার্ভিস কোন অ্যাপলিকেশনে নির্বাচিত পাঠ গ্রহণ করে) সঙ্গে এবং একটি যোগ চালান AppleScript কর্ম , ডিফল্ট প্রতিস্থাপন কোড দিয়ে কোড নিচে:

on run {input, parameters}
    tell application "Finder"
        activate
        open (POSIX file "/")
    end tell
    delay 0.5 -- # Adjust as necessary or comment out/remove if not needed.
    tell application "System Events"
        keystroke "f" using command down
        keystroke input as text
        keystroke return
    end tell
end run

সংরক্ষণ করুন Automator পরিষেবা কর্মপ্রবাহ , যেমন খোঁজো ফাইন্ডারে নির্বাচিত পাঠ্য


যদি আপনি কোনও অনুসন্ধান সম্পাদন করার সময় একটি প্রোগ্রাম্যাটিক পরীক্ষা এবং অগ্রাধিকার পরিবর্তন যুক্ত করতে চান : বর্তমান ফোল্ডারটি অনুসন্ধানে সেট করা হচ্ছে , তবে ব্লকের সরাসরি এবং আগে নিম্নলিখিত কোডটি যুক্ত করুন ।on run {input, parameters}tell application "Finder"

if (do shell script "defaults read com.apple.finder FXDefaultSearchScope") is not "SCcf" then
    do shell script "defaults write com.apple.finder FXDefaultSearchScope SCcf; killall Finder"
    delay 1 -- # Adjust as necessary or comment out/remove if not needed.
end if

একটি বিকল্প, ডিফল্ট ছেড়ে চলে যেতে হয় ফাইন্ডারে জন্য পছন্দের : কোনো অনুসন্ধান করার সময় থেকে খোঁজ এই Mac এবং নিচের কাজগুলো করুন:

  • ম্যাকিনটোস এইচডি তে একটি নতুন ফাইন্ডার উইন্ডো খুলুন ।
  • টিপুন: .F
  • উপর অনুসন্ধান দণ্ড, ক্লিক করুন "ম্যাকিন্টোস এইচডি" বোতামে ক্লিক করুন।
  • উপর অনুসন্ধান দণ্ড, ক্লিক করুন সংরক্ষণ করুন বোতাম।

অনুসন্ধানটি সংরক্ষণ করার জন্য অনুসরণ করুন। এই উদাহরণে, যেমন:

  • হিসাবে সংরক্ষণ করুন: "ম্যাকিনটোস এইচডি" অনুসন্ধান করা হচ্ছে
  • যেখানে: অনুসন্ধান সংরক্ষিত
  • [] সাইডবারে যোগ করুন (চেক করা হয়নি)

ইন চালান AppleScript কর্ম এর Automator পরিষেবা কর্মপ্রবাহ , প্রতিস্থাপন open (POSIX file "/")নিম্নলিখিত উদাহরণে সঙ্গে কোড , আপনার সিস্টেম এবং কিভাবে / যেখানে আপনি সংরক্ষিত অনুসন্ধান জন্য স্থায়ী:

open POSIX file "/Users/me/Library/Saved Searches/Searching “Macintosh HD”.savedSearch"

উদাহরণস্বরূপ AppleScript কোড তারপর হবে:

on run {input, parameters}
    tell application "Finder"
        activate
        open POSIX file "/Users/me/Library/Saved Searches/Searching “Macintosh HD”.savedSearch"
    end tell
    delay 0.5 -- # Adjust as necessary or comment out/remove if not needed.
    tell application "System Events"
        keystroke "f" using command down
        keystroke input as text
        keystroke return
    end tell
end run

এই পরবর্তী পদ্ধতিটি ফাইন্ডারে ডিফল্ট সেটিংটি একা ফেলে দেয় এবং মাউস ক্লিকগুলি ব্যবহার না করে বা অটোমেটর পরিষেবা ওয়ার্কফ্লো থেকে বোতাম ক্লিক না করে লক্ষ্য অর্জন করে ।


দ্রষ্টব্য: উদাহরণ AppleScript কোড ঠিক যে নেই এবং অতিরিক্ত প্রয়োজন হতে পারে delay কমান্ড যেখানে যথাযথ / প্রয়োজন মধ্যে যেমন keystroke কমান্ড যেমন / প্রয়োজনে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.