2011-11-28 6 views
1

문자열에서 파일 확장명을 반환하는 방법을 궁금합니다. 나는 this 질문에 상세히 설명 된 '확장명을 지정하는 변수 설정'을 시도했지만 인식 된 확장 기능에 대해서만 작동하는 것으로 보입니다. 아이디어는 확장자가 '.meta'인 파일을 자신의 컬렉션으로 정렬하는 것입니다. 나는 내가 어떤 모든 도움/방향을 주셔서 감사합니다 AppleScript로하는 새로운 브랜드 해요 applescript에서 인식 할 수없는 파일 확장자 가져 오기

tell application "Finder' 
    set everyName to name of every item in entire contents of this_folder 
end tell 

set metaFiles to {} 

repeat with n from 1 to count of everyName 
    set currentName to item n of everyName 
    set currentExt to last word of currentName --this assignment fails 
    if currentExt is "meta" then 
     set end of metaFiles to currentExt 
    end if 
end repeat 

처럼

는 내가 가지고 지금 보인다. 감사!

편집 : 해키 솔루션

내가 분할 기능을 사용하여이 문제를 해결마다 기간이 지나면 파일 이름을 헤어 here을 설명했다. 나는 마지막 문자열을 잡고, 마침표가없는 경우 첫 번째 문자열과 같지 않았는지 확인한 다음 해당 파일 이름을 저장했습니다. 당신이 이름 확장명을 받고 있지 않은 경우

답변

1

Finder에서 파일 이름을 인식하는지 여부에 관계없이 이름에 파일 확장자가 포함됩니다. 그래서이 이름을 그냥 정렬하십시오 ...

+0

다시 시도해보십시오. 완전히 작동합니다. 나는 바보입니다. 감사! – Tuck

1

, 반드시 실제로 존재하는 당신이 이름의 끝을보고 있지 않은지 확인하십시오. 파일을 옮기는 경우, 이름뿐 아니라 경로도 가져와야합니다. 나는 당신의 확장 목록을 만드는 것이 당신이 가고있는 것이라고 생각하지 않는다. - 단어 경계에 몇 가지 다른 문자가 사용되지만, 그 중 하나는 마침표가 아니다.

Finder에 파일 항목을 요청하면 어떨까요?

tell application "Finder" 
    set metaFiles to (every item in entire contents of this_folder whose name extension is "meta") as alias list 
end tell 
+0

'메타'확장은 사용자가 제안한 이름의 일부이므로 Finder는 '메타'확장명을 유효한 것으로 간주하지 않으며 metaFiles 목록을 채우십시오. 그러나이 파일을 외부로 전달하고 있으며 적절한 확장자로 수정할 수 없습니다. – Tuck

+0

확장명이 없으면 이름이 "meta"로 끝나는 이름이 regulus6633에 의해 게시 된 것처럼 테스트 할 수 있습니다. –

관련 문제