2016-06-30 2 views
0

그래, 한 파일에서 다른 파일로 알파 채널을 복사하는 스크립트가 있습니다. 이 문제는 이름에서 _mask가있는 알파 채널이있는 이름을 사용하여 가끔씩 정렬을 벗어나는 경우가 있습니다. AppleScript/OSX - 정렬 문제

124_CHARCOAL.CR2 
124_hangers.CR2 
124_INDIGO.CR2 
124_RED.CR2 
124_TAUPE.CR2 
124.CR2 

124_CHARCOAL_mask.pdf 
124_hangers_mask.pdf 
124_INDIGO_mask.pdf 
124_mask.pdf 
124_RED_mask.pdf 
124_TAUPE_mask.pdf 

그냥 이름 순서가 장소 일 (드물게)으로 myList를 정렬 TELL 응용 프로그램 "찾기"를 사용하여 -

예, 나는 몇 가지 파일이 있습니다. 이 문제를 해결할 수있는 방법이 있습니까? 아니면 정렬 전에 파일 이름에서 _mask 부분을 제거한 다음 다시 추가하는 코드를 추가하는 것이 더 좋을까요?

+0

올바른 이미지의 정확한 마스크를 얻기 위해 파일을 일치시킬 수 있도록 정렬 지점이 있습니까? – ThrowBackDewd

+0

예. 나는 그것이 "Finding"이라는 이름보다 더 쉬웠다 고 생각했다. – Pixel

+0

그렇다면 필자는 @ PHennessey의 대답을 따를 것이다. 이미지 작업을하고 반복하여 이름에서 .CR2를 제거하십시오. 새 이름을 사용하여 "_mask"파일을 가져옵니다. 이 방법을 사용하면 정렬 게임을 할 필요가 없습니다. – ThrowBackDewd

답변

2

대답은 아마 applescripts 텍스트 항목 구분 기호를 ".CR2"로 설정 한 다음 CR2 목록의 각 항목에 대한 텍스트 항목 1의 마스터 목록을 만든 다음 수동으로 "_mask.pdf"를 그 끝에 추가해야합니다 수동으로 새 목록을 생성합니다.

set myList to {"124_CHARCOAL.CR2", "124_hangers.CR2", "124_INDIGO.CR2", "124_RED.CR2", "124_TAUPE.CR2", "124.CR2"} -- this is your original sorted list of CR2 files. 

set maskList to {} -- prepare an empty list to receive the correctly ordered mask list. 

set AppleScript's text item delimiters to ".CR2" 
repeat with thisItem in myList 
    set baseName to text item 1 of thisItem 
    set maskName to baseName & "_mask.pdf" 
    copy maskName to end of maskList 
end repeat 
set AppleScript's text item delimiters to "" -- remember to reset this to nothing 
get maskList -- this returns the properly-ordered mask list. 

물론 네이밍 규칙이 여기에 나와있는 것과 다른 경우에만 작동합니다.

0

목록이 부적절하게 정렬 된 경우 그 목록은 어떻게 보이며 그 대신에 어떻게 표시되어야합니까?

+0

위의 예는 부적절한 정렬 순서입니다. 그러나 99 %의 경우, 1 : 1 이름 순서로 정렬됩니다. – Pixel

+1

이름이없는 파일을 "124.CR2"라고 부르기 위해 명명 규칙을 수정해야한다고 생각합니다. "main"과 같은 이름에 추가 부분이 있어야하므로 "124_main.CR2"라고합니다. 그러면 자동으로 문제가 해결됩니다. – PHennessey

+0

불행히도 이름은 클라이언트가 제공하며 변경할 수 없으며 InDesign 스프레드와 함께 엉망이됩니다. =/개인적인 용도로는 알아두면 좋습니다. – Pixel