PowerPro - 스크립트 파일과 인수

2006. 10. 20. 22:14 컴퓨터/유틸리티

************************************************

  1. 아래의 내용은 PowerPor 네이버 카페에 얻은 정보에 이해를 돕기 위해 그림을 첨부하여 올렸습니다.
  2. 글의 내용은 강좌가 아니라 이해를 돕기 위한 글이며,
  3. 좀 더 많은 정보를 원하시거나 PowerPro 에 궁금한 점이 있으시면 PowerPor 네이버 카페를 방문하여 주십시오.
  4. 아울러 저와 PowerPor 네이버 카페와는 아무런 상관이 없음을 말씀드립니다. 아! 회원으로 가입은 했습니다. ^^

************************************************

PowerPro 의 스크립트 기능은 매우 막강합니다. 이전의 PowerPro - 스크립트 소개 글에 짧게 설명을 올렸습니다만, 모든 스크립트를 대화상자에서 입력한다면 불편한 점이 많습니다. 간단한 거야 언제든지 수정한다지만 고급 기능을 작성하다 보면 매우 긴 장문의 스크립트를 작성하실 때도 있기 때문이죠.

PowerPro 에서는 스크립트를 텍스트 파일로 작성하여 불러 들일 수 있습니다. 또한 텍스트 파일로 작성하며 수정 대화상자에서 입력하는 스크립트 보다 더욱 프로그램다운 모습으로 작성할 수 있으며, 작성하기에도 편리합니다.

PowerPro 스크립트 파일

위의 폴더 선택 스크립트를 스크립트 파일로 작성해 보겠습니다. PowerPro 에서 쉽게 파일을 불러 들이기 위해 (1) PowerPro 가 설치된 폴더 내에 scripts 폴더 안에 (2) 확장자를 .powerpro 로 해서 텍스트 형식의 파일로 저장합니다. 예로 PowerPro 가 C:/Program Files/PowerPro/ 에 설치되어 있고, 만들려는 스크립트 파일 이름이 opensavedlg 라고 한다면 (1) 메모장을 실행하고 (2) 스크립트 내용을 입력한 후 (3) C:/Program Files/PowerPro/scripts 폴더에 (4) opensavedlg.powerpro 로 저장합니다.

opensavedlg.powerpro.txt 가 안 되도록 조심하세요....^^

자~ opensavedlg.powerpro 에 아래와 같이 내용을 입력합니다.

clip.clear win.keys("%n^c") wait.for(300) local clpFName = clip.get() wait.for(300) clip.set( ?"C:\Program Files\") wait.for(300) win.keys("%n^v{en}") wait.for(300) clip.setpaste(clpFName) quit

수정 대화상자 보다도 입력된 모습이 훨씬 깔끔하죠. 왠지 더 프로그램처럼 보이구요. ^^  각 행 별 설명은 생략하겠습니다. 문자열에 ? 문자를 붙인 이유는 \ 와 같은 특수 문자 때문입니다. \ 문자 같은 경우 2번 연속해서 입력해 주어야 합니다. "C:\\Program Files\\" 이렇게 말이죠. 그러나 두 번 중복해서 입력하기 싫을 때에는 문자열 앞에 ?를 붙입니다. 이제 스크립트 파일을 생성했으므로 Command 를 수정하거나 추가할 차례입니다.

이제 [OK] 버튼을 클릭하고 메모장이나 다른 프로그램에서 파일 열기 또는 열기를 해 보면 아래와 같이 툴바에 새로 추가한 버튼이 보입니다.

스크립트 인수 사용

클릭해 보시면 미리 지정된 폴더로 정상적으로 이동합니다. 그러나 2% 부족합니다. 이렇게 한다면 폴더별로 스크립트 파일을 만들어야 된다는 얘기인데, 너무 불편하죠. 필요한 폴더가 생길 때마다 스크립트 파일 만들고, command를 추가하고..... 이럴 때 사용하는 것이 인수입니다. (1) 폴더의 경로만 스크립트 파일로 전해주면 (2) 스크립트 파일은 그 경로로 이동시켜 주는 것이죠. opensavedlg.powerpro 의 스크립트 파일 내용을 아래와 같이 수정해 줍니다.

local dirDest = arg(1) -> command 의 첫 번째 인수를 변수 dirDest 에 대입 clip.clear -> 클립보드의 내용을 삭제 win.keys("%n^c")  -> Alt-N 키를 누른 후에 Ctrl-C 키를 눌러라. 파일 이름이 클립보드로 wait.for(300)  -> 300msec 대기 local clpFName = clip.get() -> 클립보드의 내용을 clpFName 에 대입 wait.for(300)  -> 300msec 대기 clip.set( dirDest)   -> 클립보드의 내용을 command에서 보내준 인수로 설정 wait.for(300)   -> 300msec 대기 win.keys("%n^v{en}") -> 이름 입력 칸에 클립보드의 내용을 붙여 넣기 후 엔터키를 눌러라 wait.for(300)   -> 300msec 대기, 폴더로 이동하기까지 대기 clip.setpaste(clpFName) -> 클립보드를 이전의 파일이름으로 지정하고 붙여 넣기 quit -> 스크립트 작업 완료

또한 새로 생성한 command 의 내용을 아래와 같이 수정해 줍니다.

이제는 필요한 폴더 만큼 command 만 생성하고 인수만 바꾸어 주면 됩니다. 매우 편리하죠.

편리한 clone 버튼

추가할 command 의 내용이 이전 것과 별로 차이가 없다면 clone 버튼을 이용하시면 매우 편리합니다. clone, 말 그대로 복제입니다.

스크립트 파일은 (1) 작성하기 편한 것도 있지만, 이 외에도 (2) 다른 분과 공유하기 편리하며, (3) 한 번의 수정으로 여러 command 에 대한 처리가 한 번에 수정되는 장점이 있습니다.

이 댓글을 비밀 댓글로
    • 안재희
    • 2006.10.26 09:20
    좋은 정보 감사합니다~~
    PP카페에서는 조금 헷갈렸는데..자세히 설명해주시니 이해가 쏙쏙되네요^^
    • 100
    • 2006.11.02 23:16
    넘 감사.. ^^
    • 코따미
    • 2006.11.03 18:54
    에효..
    그런데, 위 그림과 같은 그림은 무슨 프로그램으로 만드시나요?? 무지 궁금했었습니다.
    • 이제막~
    • 2008.02.23 15:52
    질문있습니다.
    저장 대화상자는 잘되는데.. ms word 열기 대화상자에서는 넘어가지가 않고 그냥 폴더명이 붙여지기만 합니다. enter가 한번 더 있어야 하는 것 같은데... 어떻게 하나요?
    • 좋은날
    • 2008.04.22 22:45
    이젠 점점 무서워 지네요 ㅡ.ㅡㅋ