2013-04-02 2 views
0

파일/폴더를 숨김 또는 숨김 해제하는 데 도움이되는 자동화 도구에서 서비스를 만들려고합니다.토글 숨김 파일 단추를 만드는 방법

저는 아주 초보자이며 오토메이터에 대해 전혀 몰라서 다른 서비스를 함께 모으려고했지만 어떻게 작동하는지조차 모릅니다.

나는 다음을 시도하고 그것은 작동하지 않습니다 :

는 찾기 항목

실행 쉘 스크립트를 선정하기 :

STATUS = chflags 

for f in "[email protected]" 

    if [$STATUS = unhidden] 

    then 

    chflags hidden 

    else 

    chflags unhidden 

    fi 

    killall Finder 

답변

1

당신은 모든 것을 멀리 아니에요 : 파일이 현재 숨겨져 있는지 여부를 테스트하는 것이 가장 큰 어려움입니다. (비록 bash 구문이 잘못되었지만 Finder 기반의 서비스가 가시성을 토글하기는하지만 절반 만 이해할 수 있습니다 - 보이지 않는 파일을 선택하는 방법은 무엇입니까?) 즉,이 스크립트는 [1] bash로 다시 실행하고 인수를 인수로 전달하십시오.

for f in "[email protected]" 
do 
    if (ls -lO "$f" | grep -wq hidden) 
    then 
     chflags nohidden "$f" 
    else 
     chflags hidden "$f" 
    fi 
done 

나중에 Finder를 죽이는 것은 필요하지 않습니다. 자동으로 "숨김"에 대한 변경 사항을 알 수 있습니다. Automator "서비스"워크 플로를 만들면 처음에는 "선택한 Finder 항목 가져 오기"작업이 필요하지 않습니다. 귀하의 서비스는 선택한 품목을 입력으로 전달합니다.

[1] 대부분. 이름에 "숨김"이있는 파일에서는 올바르게 작동하지 않습니다. 이 문제를 해결하려면 아마도 stat (1)을 사용하여 독자의 연습 문제로 남겨 두어야합니다.

+0

감사합니다. 주로 작동하지만 다른 서비스로 숨겨진 파일을보고 숨겨진 파일이나 폴더를 선택하고 숨김 상태로 만들지 않는 서비스를 활성화합니다. 이 문제를 해결하는 방법을 알고 있습니까? – user2235435

+0

그것은 처음에 파일이 숨겨진 방법에 따라 다릅니다. 이 스크립트는 파일의 "숨김"플래그를 twiddling하여 작동하지만 Finder는 파일을 숨기는 여러 가지 다른 규칙을 가지고 있으며 플래그는 그 중 하나입니다. 또한 이름이 "."로 시작하는 항목을 숨기고 숨길 항목 목록이 고정되어 있습니다 (예 : "휴지통"). "AppleShowAllFiles"기본값을 사용하지 않고 해당 파일을 볼 수 없도록 설정할 수 있습니다.이 파일은 이미 알고있는 것으로 추측됩니다. (도트 파일의 이름을 바꿀 수는 있지만 다른 프로그램이 그 파일을 찾을 수 없게 될 수도 있습니다.) –

+0

고마워, 나는 그걸 생각하지 않았다. – user2235435

관련 문제