Mac에서 여러 파일의 파일 확장자를 표시하거나 숨기려면 어떻게 해야 합니까?

Mac에서 여러 파일의 파일 확장자를 표시하거나 숨기려면 어떻게 해야 합니까?

이 질문의 변형은 거의 항상 "확장자 숨기기"를 선택하거나 선택 취소하는 지루한 한 번에 하나씩 "정보 가져오기" 프로세스를 설명하거나 Finder -> 환경 설정 -> 고급 -> 모든 파일 표시를 사용하여 망치 접근 방식을 사용합니다. 확장. 단일 명령줄로 Terminal.app을 사용하여 일괄 파일을 한 번에 처리하는 방법을 찾았습니다.

"SetFile"이라는 개발자 유틸리티가 필요합니다. /Developer/Tools에 해당 항목이 있으면 $PATH에 별칭(ln -s)을 만들거나 해당 경로를 $PATH에 추가하세요. 이제 모든 파일에는 "속성"이 있으며, 이는 동반 유틸리티 "GetFileInfo"를 사용하여 볼 수 있습니다. 이는 대문자 또는 소문자의 문자입니다. "E"와 "e"는 확장 프로그램을 "숨기기" 또는 "표시"를 나타냅니다. SetFile을 사용하면 쉽게 전환할 수 있습니다. 그러나 일련의 파일 이름을 SetFile에 입력하고 하나의 명령줄로 모두 수행할 수도 있습니다. 간단한 예는 다음과 같습니다.

.doc(MS Word) 문서가 여러 개 있는데, 일부는 확장자를 표시하고 일부는 확장자를 숨깁니다. 나는 그들 모두가 확장 프로그램을 표시하도록 합니다. 어떤 폴더에 있다고 가정합니다. 폴더로 이동하여 다음을 수행합니다.

 ls -1 *.doc | tr " " "?" | xargs -L1 SetFile -a 

-1은 원하는 확장자를 가진 폴더의 모든 파일 이름을 제공합니다. "tr" 명령은 파일 이름의 공백을 "?"로 변환합니다. 이는 단일 일치 문자를 의미하므로 이름에 공백이 없습니다. 그런 다음 "xargs -L1"은 해당 파일의 확장자를 "표시"하는 "SetFile -a e"에 각 이름을 제공합니다. 이미 표시되고 있는 경우에는 그대로 유지됩니다.

SetFile은 "?"가 포함된 이름을 좋아하지 않을 수 있습니다. 그러나 SetFile에 대한 파일 인수가 따옴표로 묶이지 않는 한 공백이 있는 이름은 확실히 좋아하지 않습니다. 불행하게도 "xargs"는 공백이 있는 이름을 SetFile의 별도 실행으로 나누어서 더욱 악화됩니다.

마지막으로 모든 확장자를 "숨기려면" 대신 "SetFile -a E"를 사용하세요.

관련 정보