我可以在文件的上下文菜单中更改文件锁定(“只读”)状态:
这没有菜单项。
如何创建Finder(上下文)菜单项以更快地设置,删除或切换此标志?
我可以在文件的上下文菜单中更改文件锁定(“只读”)状态:
这没有菜单项。
如何创建Finder(上下文)菜单项以更快地设置,删除或切换此标志?
Answers:
您可以通过创建一个新的菜单项来创建它 服务 接收 文件和文件夹 作为输入 任何申请 在Automator中。
您有两个实现选项。选择以下两个Automator操作之一来构建服务工作流:
下面的代码实现了 切换 命令,因为它是最复杂的。
此变体使用 stat
读取为文件设置的标志。这些值与通常运行时显示的值相同 ls -lO
但是 stat
是一个更清晰的解决方案来读取值。锁定的旗帜,或 uchg
,有价值 0x2
,这就是我们正在检查的内容。
chflags
用于更改值,和 growlnotify
,可选部分 吠声 ,用于显示成功或错误消息。
使用以下bash脚本代码段作为Run Shell Script操作的一部分:
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代码段作为Run 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
如果操作失败,例如因为缺少权限,每个文件都会显示一个无法更改的对话框。