上下文選單項目可更快地鎖定/解鎖 Finder 中的文件

上下文選單項目可更快地鎖定/解鎖 Finder 中的文件

我可以在文件的上下文選單中更改文件鎖定(“只讀”)狀態:

在此輸入影像描述

沒有為此的菜單項目。

如何建立 Finder(上下文)選單項目來更快地設定、刪除或切換此標誌?

答案1

您可以建立一個新的選單項,透過建立服務接收文件和資料夾作為輸入任何應用程式在自動機中。

您有兩個實施選項。選擇兩個 Automator 操作之一來建立服務工作流程:

  • 運行外殼腳本
  • 運行AppleScript

下面的程式碼實現了切換命令,因為它是最複雜的。

運行外殼腳本

此變體用於stat讀取為檔案設定的標誌。這些值與通常透過運行顯示的值相同ls -lO,但這stat是讀取值的更清晰的解決方案。鎖定標誌或 的uchg值為0x2,因此這就是我們要檢查的內容。

chflags用於更改值,並且growlnotify,可選部分咆哮,用於顯示成功或錯誤訊息。

在此輸入影像描述

使用以下 bash 腳本程式碼片段作為「執行 Shell 腳本」操作的一部分:

for f in "$@"
do
    let "$( stat -f "%f" "$f" ) & 0x2"
    if [ $? -ne 0 ] ; then
        chflags uchg "$f" || /usr/local/bin/growlnotify "Error" -m "Failed to lock $f!"
        /usr/local/bin/growlnotify "Locked File" -m "$f was locked!"
    else
        chflags nouchg "$f" || /usr/local/bin/growlnotify "Error" -m "Failed to unlock $f!"
        /usr/local/bin/growlnotify "Unlocked File" -m "$f was unlocked!"
    fi
done

配置接收輸入的操作作為參數

 運行AppleScript

使用以下 AppleScript 程式碼片段作為「運行 AppleScript」操作的一部分:

on run {input, parameters}
repeat with f in input
        try
            tell application "Finder" to set locked of f to (not locked of f)
        on error errmsg
            tell application "Finder" to display alert errmsg
        end try
    end repeat
end run

如果操作失敗(例如由於缺少權限),則會為每個無法變更的檔案顯示一個對話方塊。

在此輸入影像描述

相關內容