2014-10-22 2 views
0

After Effects CS6 (일반적으로 maxscript 및 python 사용)에서 Extendscript를 사용하여 After Effects 용 도킹 가능한 UI를 만들었습니다. 이 작업을 수행했지만 루트 폴더에있는 폴더 내에서 검색하여 트리 뷰에서 노드를 형성하는 .jsx 파일을 가져 오도록 코드를 다시 구성해야합니다. 현재extendscript, 폴더 이름 얻기

이 모든 .jsx 파일은 하나 개의 루트 폴더에 있지만 인해 폴더 시스템의 구조 조정에, 우리가 지금

내가 반환 할 수 있어야 각 스크립트를 수납하는 폴더가 /를 수집 루트 폴더 내의 폴더 이름을 스크립트의 뒷부분에서 반복 할 수있는 배열로 변환합니다.

지금까지 루트 폴더 내부의 폴더 경로를 반환하는 코드가 있지만 이것이 필요한 것은 아니며 마지막 부분을 얻기 위해 구성 부분으로 문자열을 분할하고 싶지 않습니다. 경로.

아래 이미지의 루트 폴더는 "C : \ AFX \ theRoot \"라는 script1이, script2, script3의 script4 내부 폴더와

내가 폴더 구조의 이미지를 게시하려고했지만, 나는 특정 등급을 요구하기 때문에 허용되지 않습니다.

+0

하위 폴더가 있지만 "문자열을 분할하지 않아도됩니다"? 왜 안돼? 이것은 직선적 인 조작입니다 (그리고 문자열을 물리적으로 손상시키지 않습니다). – usr2564301

+0

숙련 된 Java 스크립터의 경우 일 수도 있지만 언급 한 바와 같이 Javascript 및 extendscript는 매일 사용하지 않습니다. 그것이 얼마나 간단한 지 지적하는 대신, 지금까지 실천하고있는 예제를 게시하여 지금까지 배운 것을 배울 수 있습니다. 나는 배은망덕 한 것처럼 보이기를 원하지 않지만, 지금까지 응답은 앞으로 나아갈 수 있도록 도움을주지 못했습니다. – EMJAY

+0

물론입니다. 하지만 먼저 코드가 무엇인지 보여 주어야합니다 (또는 코드가 길고 문제가 현지화 된 경우 스 니펫). 문제가 발생한 부분을 지적하십시오. 둘째로, 경로 *를 분리하는 방법을 알고 있지만 "하고 싶지는 않은"것처럼 문제를 설명합니다. 그러므로 내 질문 : 왜 그렇게하고 싶지 않니? – usr2564301

답변

1

문자열이 이미있는 경우. 폴더 이름을 가져 오는 것이 가장 쉬운 방법 일 것입니다. 대신 분할의 당신은 또한 다음과 같은 정규식을 사용할 수

var name = yourString.match(/([^\/]*)\/*$/)[1] 

Credit for the regex goes to this thread

당신이 이런 식으로하지 말아야 할 몇 가지 이유가있는 경우, 수정 ExtendScript에서 폴더 개체가있다. 이 같은 이름을

var folder = new Folder("/your/folders/name"); 

얻을 :이 같은 문자열에서 새 폴더를 만들 수 있습니다이 도움이

var name = folder.name 

희망을.

+0

도움 및 정보를 제공해 주셔서 감사합니다. 매우 감사드립니다. 코드를 보면 항상 논리적으로 보입니다. 이 스크립트가 구현 된 후에 예제 스크립트를 게시 할 것입니다. 나는 이미 .jsx 파일을 찾아 단일 폴더 위치에서 대조하는 기능을 가지고 있습니다. 특정 루트 폴더에있는 폴더 집합을 통해 개별 폴더 내에서 스크립트 이름을 얻고 무시하는 방법을 궁금합니다. 다른 파일 형식. 논리는 알고 있지만 구문은 현재는 아니지만 매일 그걸 알아 차리지 못하고 있습니다. – EMJAY

+0

나는 질문의 창안자이기 때문에 왜 내 질문에 대한 내 대답이 삭제되었는지 확신 할 수 없다. 문제에 대한 도움이 필요하기 때문에이 게시물을 남겨 두어 입력을 얻을 수 있기를 바랍니다. 이미 존재하고 생성 할 필요가없는 지정된 루트 폴더로 갈 수 있어야합니다. 루트 폴더 내의 폴더 만 배열로 배열합니다. for 루프를 사용하여 각 폴더를 반복하고 jsx 파일을 찾고 결과를 배열에 추가합니다. – EMJAY

+0

새 폴더를 만들 필요가 없습니다. 기존의 루트 폴더에있는 기존 폴더를 대조하고 그 루트 폴더에있는 폴더 이름을 배열에 저장하여 서브 폴더에있는 아이콘을 사용하여 트리 뷰를 동적으로 생성하는 함수에서 반복 할 수 있도록해야합니다. – EMJAY