Computer >> คอมพิวเตอร์ >  >> ระบบ >> MAC

5 ใช้สำหรับ Applescript ของ Mac เพื่อปรับปรุงประสิทธิภาพ

5 ใช้สำหรับ Applescript ของ Mac เพื่อปรับปรุงประสิทธิภาพ

Applescript เป็นภาษาสคริปต์ที่ค่อนข้างคลุมเครือของ Apple แต่เป็นเครื่องมือที่ทรงพลังสำหรับโปรแกรมสามเณรที่จะใช้ประโยชน์ได้ ด้วย Applescript อันชาญฉลาดที่จัดการงานที่น่ารำคาญ เราสามารถเพิ่มผลผลิตและทำให้บลูส์ของคุณเป็นไปโดยอัตโนมัติ

Applescript คืออะไร

5 ใช้สำหรับ Applescript ของ Mac เพื่อปรับปรุงประสิทธิภาพ

อินเทอร์เฟซ Applescript กับแอปพลิเคชัน Mac ส่วนใหญ่ เช่น Finder, iTunes, QuickTime และ Mail หากคุณคุ้นเคยกับ Automator อยู่แล้ว Applescript ก็เป็นแอปพลิเคชันเวอร์ชันผู้ใช้ระดับสูง

1. สลับไฟล์ที่ซ่อนอยู่

บันทึกเป็นแอปพลิเคชัน แล้วคุณจะมีปุ่มสลับที่คลิกได้เพื่อเปิดเผยไฟล์ที่ซ่อนอยู่ใน Finder

set newHiddenState to "YES"
try
    set oldHiddenState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenState is in {"1", "YES"} then
        set newHiddenState to "NO"
    end if
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenState
do shell script "killAll Finder"

2. แบทช์เปลี่ยนชื่อไฟล์

สคริปต์นี้จะแจ้งให้ผู้ใช้ป้อนชื่อไฟล์ จากนั้นเปลี่ยนชื่อไฟล์ที่เลือกโดยอัตโนมัติด้วยสตริงข้อความนั้นบวกกับดัชนีที่เพิ่มขึ้น มันยังช่วยเพิ่มศูนย์นำหน้าสำหรับไฟล์ตั้งแต่หนึ่งถึงสิบอีกด้วย

-- This code comes from https://gist.github.com/oliveratgithub/
-- Open in AppleScript Editor and save as Application
-- ------------------------------------------------------------
--this is required to break the filename into pieces (separate name and extension)
set text item delimiters to "."
tell application "Finder"
    set all_files to every item of (choose file with prompt "Choose the Files you'd like to rename:" with multiple selections allowed) as list
    display dialog "New file name:" default answer ""
    set new_name to text returned of result
    --now we start looping through all selected files. 'index' is our counter that we initially set to 1 and then count up with every file.
    --the 'index' number is of course required for the sequential renaming of our files!
    repeat with index from 1 to the count of all_files
        --using our index, we select the appropriate file from our list
        set this_file to item index of all_files
        set file_name_count to text items of (get name of this_file)
        --if the index number is lower than 10, we will add a preceding "0" for a proper filename sorting later
        if index is less than 10 then
            set index_prefix to "0"
        else
            set index_prefix to "" 
        end if
        --
        --lets check if the current file from our list (based on index-number) has even any file-extension
        if number of file_name_count is 1 then
            --file_name-count = 1 means, we extracted only 1 text-string from the full file name. So there is no file-extension present.
            set file_extension to ""
        else
            --yup, we are currently processing a file that has a file-extension
            --we have to re-add the original file-extension after changing the name of the file!
            set file_extension to "." & item -1 of file_name_count
        end if
        --let's rename our file, add the sequential number from 'index' and add the file-extension to it
        set the name of this_file to new_name & index_prefix & index & file_extension as string
    end repeat
    --congratulations for successfully accomplishing the batch renaming task :)
    display alert "All done! Renamed " & index & " files with '" & new_name & "' for you. Have a great day! :)"
end tell

3. ปรับขนาดภาพตามเปอร์เซ็นต์

สคริปต์นี้จะปรับขนาดรูปภาพเป็น 50% ของขนาดดั้งเดิม

-- Prompt for an image
set theImageFile to choose file of type "public.image" with prompt "Please select an image:"
 
-- Locate an output folder
set theOutputFolder to (path to desktop folder as string)
 
-- Launch Image Events
tell application "Image Events"
    launch
 
    -- Open the image
    set theImage to open theImageFile
    tell theImage
 
        -- Determine a save name for the image
        set theName to name
        set theSaveName to "smlr-" & theName
 
        -- Scale the image by 50%
        scale by factor 0.5
 
        -- Save the image to the output folder, using the save name
        save as file type in (theOutputFolder & theSaveName)
 
        -- Close the image
        close
    end tell
end tell

4. ปรับขนาดภาพเป็นความกว้างพิกเซล

การดำเนินการนี้ใช้การเริ่มต้นของสคริปต์ก่อนหน้าเป็นส่วนใหญ่ แต่จะปรับขนาดเป็นความกว้างของพิกเซลแทน ระบบจะแจ้งให้ผู้ใช้ทราบความกว้างของพิกเซลที่ต้องการและเพิ่มความกว้างของพิกเซลนั้นต่อท้ายชื่อไฟล์ใหม่

-- Prompt for an image
set theImageFile to choose file of type "public.image" with prompt "Please select an image:"
 
set dialogResult to (display dialog "Enter desired pixel width:" default answer "") try set pixelWidth to (text returned of dialogResult) as integer end try 
 
-- Locate an output folder
set theOutputFolder to (path to desktop folder as string)
 
-- Launch Image Events
tell application "Image Events"
    launch
 
    -- Open the image
    set theImage to open theImageFile
    tell theImage
 
        -- Determine a save name for the image
        set theName to name
        set theSaveName to (pixelWidth as text) & "-px-" & theName
 
        -- Scale the image to pixelWidth
        scale to size pixelWidth
 
        -- Save the image to the output folder, using the save name
        save as file type in (theOutputFolder & theSaveName)
 
        -- Close the image
        close
    end tell
end tell

5. สำรองโฟลเดอร์ไปยังปลายทางที่เลือก

สคริปต์อย่างง่ายนี้คัดลอกโฟลเดอร์ที่เลือกไปยังปลายทางที่เลือก ซึ่งอาจทำให้การคัดลอกแบบลากและวางที่ซับซ้อนนั้นเจ็บปวดน้อยลงเล็กน้อย

set backupTarget to (choose folder with prompt "Select a Backup Target")
set backupDestination to (choose folder with prompt "Select a Backup Destination")
tell application "Finder"
    duplicate folder backupTarget to folder backupDestination
end tell

บทสรุป

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ AppleScript คุณสามารถดูเอกสารประกอบของ Apple เองได้ ยังดีกว่าคือ MacOSXAutomation.com ซึ่งเป็นมิตรกับ noob มากกว่า