파일의 상황에 맞는 메뉴에서 파일 잠금("읽기 전용") 상태를 변경할 수 있습니다.
해당 메뉴 항목이 없습니다.
이 플래그를 더 빠르게 설정, 제거 또는 전환하기 위해 Finder(컨텍스트) 메뉴 항목을 생성하려면 어떻게 해야 합니까?
답변1
이를 수행하는 새 메뉴 항목을 만들 수 있습니다.서비스받는파일 및 폴더입력으로모든 애플리케이션오토메이터에서.
두 가지 구현 옵션이 있습니다. 다음 두 가지 Automator 작업 중 하나를 선택하여 서비스 워크플로를 구축하세요.
- 쉘 스크립트 실행
- AppleScript 실행
아래 코드는비녀장명령이 가장 복잡하기 때문입니다.
쉘 스크립트 실행
이 변형은 stat
파일에 설정된 플래그를 읽는 데 사용됩니다. 이는 일반적으로 를 실행하여 표시되는 값과 동일 ls -lO
하지만 stat
값을 읽는 더 깔끔한 솔루션입니다. 잠긴 플래그 또는 uchg
에는 값이 있으므로 0x2
이를 확인하고 있습니다.
chflags
는 값을 변경하는 데 사용되며 growlnotify
, 는 선택적인 부분입니다.으르렁, 성공 또는 오류 메시지를 표시하는 데 사용됩니다.
셸 스크립트 실행 작업의 일부로 다음 bash 스크립트 코드 조각을 사용합니다.
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
예를 들어 권한이 누락되어 작업이 실패하면 변경에 실패한 파일당 하나의 대화 상자가 표시됩니다.