맥스스크립트 기본

파일 열기와 저장(5) 다이얼로그로 폴더 지정

스크립팅하는애님 2019. 8. 26. 17:02
728x90
반응형

안녕하세요.

애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다.

지난번에 이야기한 getOpenFileName과 getSaveFileName이 폴더 내의 하나의 파일만 선택하는 것이라면 오늘 이야기할 함수는 폴더를 선택하는 합니다.

이를 이용하면 해당폴더의 모든 맥스 파일을 선택하는 것도 가능해집니다.

우선 폴더를 선택하는 함수에 대해서 알아봅시다.

 

 

Path 저장

 

getSavePath [ caption:<window_caption_string> ] [ initialDir:<pathname> ]

다이얼로그(대화창)를 열어 path를 저장합니다.

[ caption:<window_caption_string> ]은 다이얼로그의 제목을 정합니다.

[ initialDir:<pathname> ]은 시작 시 폴더의 위치를 지정합니다.

 

이전 시간에 getOpenFileName과 getSaveFileName을 사용해 보셨다면 어떤 내용인지 대충 감이 오실 겁니다.

다음을 입력하고 실행해 봅시다.

 

1
pName = getSavePath caption:"폴더 찾기" initialDir:"D:\\"
cs

 

 

위 이미지와 같이 결과가 나왔나요?

원하는 폴더를 선택하여 확인 버튼을 누르면 해당 폴더의 위치(Path)가 pName에 문자열로 저장이 됩니다.

이렇게 Path를 찾아냈다면 다음과 같이 입력하여 해당 폴더의 모든 맥스 파일을 저장할 수 있습니다.

 

1
maxFiles = getFiles (pName + "\\*.max")
cs

 

맥스 파일이 있다면 maxFiles를 format문으로 출력했을 때 많은 파일명들이 나올 것입니다.

맥스 파일이 없다면 아무것도 없다고 나오겠군요.

확장자 명을 바꾼 다면 꼭 맥스 파일이 아닌 텍스트나 다른 형식의 파일도 저장할 수 있습니다.

 

getFiles은 파일의 형식(확장자)을 지정하여 해당 폴더에 있는 원하는 파일을 배열 형태로 저장합니다.

파일과 관련된 명령에서 *은 모든 이라는 의미로 쓰이기 때문에 *. max는 max라는 확장자를 가진 모든 파일이라는 뜻입니다.

getFiles에 관련된 내용은 맥스 스크립트 헬퍼에서 'External File Methods'로 검색하면 나옵니다.

getFiles 이외에도 다양한 함수들이 있지만 저는 자주 사용하지 않는 함수들이라서 생략하겠습니다.

한 번 정도 읽어 보시고 기억했다가 나중에 필요한 일이 있으면 공부하시면 좋을 것 같습니다.

 

저장된 맥스 파일(maxFiles)을 for문으로 하나하나 출력해 보겠습니다.

 

1
2
3
4
for i = 1 to maxFiles.count do
(
    format "%\n" maxFiles[i]
)
cs

 

for문의 설명은 기초강좌에 있으니 모르시겠으면 확인하시기 바랍니다.

여기서는 맥스 파일명을 출력하는 것으로 했지만,

이전에 이야기한 것들을 응용한다면 각각의 맥스 파일들을 열어서 필요한 파일을 머지를 한다던가 하는 작업을 하고 저장하는 것도 할 수 있습니다.

 

오늘은 다이얼로그를 이용하여 폴더를 지정하는 방법에 대해서 이야기했습니다.

이야기가 진행되면서 배웠던 간단한 내용들을 잘 결합하여 사용한다면 파일 관리 함수를 통해 일일이 손으로 작업하지 않아도 된다는 것을 알수 있습니다.

다음에도 파일관리 함수에 대해 이야기하도록 하겠습니다.

 

728x90
반응형