NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 업무 자동화 - 모든 파일 이름 한번에 바꾸기.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 오늘은 간단하게 폴더안에 모든 파일의 이름을 변경하는 방법에 대해 알아보도록 하겠습니다. 내용이 약간 복잡할 수 있는데요. 그래도, 오토핫키나 파이썬에 비하면 상당히 쉬운편입니다. 이 예제를 따라하면 변수와 반복기 사용 방법도 같이 학습할 수 있습니다. 엔지엠 매크로 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    바탕화면의 업무 목록 폴더를 하나 생성한 후 아래 그림과 같이 엑셀 파일을 10개 추가 해두었습니다. 아래 그림을 보시면 알겠지만 1팀부터 10팀까지 업무가 정리되어 있는 엑셀 파일이 있는데요. 숫자가 1부터 9까지 순서대로 있지만, 10팀은 젤 위에 위치하게 됩니다. 윈도우가 기본적으로 파일 이름으로 정렬하는 방식이 숫자 다음에 문자를 처리하기 때문입니다. 그래서, 10은 1과 0 숫자고 팀은 문자이기 때문에 9보다 10이 더 앞에 위치하게 됩니다.

    TYBVXlw.png

     

     

    꼭 파일의 정렬뿐만 아니라 어떤 규칙에 의해 파일명을 변경하고 싶을 때 [ 파일 이동 ] 액션을 사용할 수 있습니다. 파일 이동 액션은 파일의 이동뿐만 아니라 이름 바꾸기로도 사용됩니다. 아래는 전체 스크립트입니다. 우선, 파일 목록을 담아둘 변수와 파일명을 담아둘 변수 2개를 추가하세요. [ 변수 ]의 이름은 각각 파일 목록파일입니다.

    nSBN5Mr.png

     

     

    [ 파일 목록 ] 액션으로 사용자가 선택한 폴더의 파일들의 경로들을 모두 가져올 수 있습니다. 검색 옵션은 아래와 같습니다.

    • TopDirectoryOnly: 원본 경로 안에 있는 파일만 목록으로 가져옵니다.
    • AllDirectories: 원본 경로 안에 하위 폴더가 있으면, 하위 폴더안의 파일까지 모두 목록으로 가져옵니다.

    HmeX8wf.png

     

     

    파일 목록을 변수에 저장 해줍니다. 속성창의 변수 카테고리에서 추가하기를 클릭하고, 변수 이름 파일 목록에 이 액션이 실행된 후 만들어지는 파일 목록값을 넣어줍니다.

    S1P61DO.png

     

     

    변수는 시스템의 메모리 저장 공간을 말합니다. 액션 이동이 실행되면 사용자가 설정한 폴더의 모든 파일 목록을 만드는데요. 이 액션이 지나가고 다른 액션이 실행되면 이전의 값들은 모두 사라지게 됩니다. 그래서, 파일 목록을 다른곳에 사용하기 위해 변수라는 메모리 공간에 저장해둔겁니다. 파일 목록을 하나씩 돌면서 처리하기 위해 [ Foreach 반복 ] 액션을 사용하도록 하겠습니다. 아래 그림처럼 변수에 저장된 목록을 반복기에서 사용할 소스로 가져오세요.

    S9h7XCI.png

     

     

    변수에 저장된 파일 목록은 아래와 같은 1차원 배열(Array)입니다.

    8g66uA8.png

     

     

    엔지엠 에디터에는 변수 값이 어떻게 들어가 있는지 확인할 수 있는 모니터링 도구가 포함되어 있습니다. 위에서 파일 목록이 잘 안보여서 창을 늘려보았습니다. 이제는 잘 보이는군요. 변수 모니터링 창을 표시하려면 메뉴의 보기 > 변수를 체크하시면 됩니다. 이제 잘 보이는군요^^

    YBKmXcV.png

     

     

    [ For 반복 ] 또는 Foreach 반복은 [ 액션 이동 ]이나 [ 액션 반복 ]과 다르게 자신의 하위로 추가된 액션만 반복할 수 있습니다. 그래서, 파일 이동 액션이 Foreach 반복 하위로 들어가 있습니다. 기존 파일명의 규칙은 1팀-업무 프로세스.xlsx입니다. 여기서 1팀, 2팀, 3팀과 같이 앞에 팀의 숫자가 1씩 증가합니다. 그런데, 그런데 정렬 문제로 우리는 01, 02, 03팀과 같이 2자리수로 0을 추가해줄겁니다. 10팁은 그대로 10이 되겠죠? 이렇게하면 99팀까지 폴더에서 자연스럽게 정렬되게 할 수 있습니다.

    Wi6anEC.png

     

     

    파일 이동의 옵션은 위 그림을 참고하시고요. 스크립트를 일단 실행 해볼까요? 아래 그림과 같이 01, 02, 03... 10팀까지 깔끔하게 바뀐걸 확인할 수 있습니다. 10팀이 가장 아래로 정렬되어 있네요.

    GxLjEwE.png

     

     

    원본 파일에 보면 변수에서 가져오기가 아닌 중괄호안에 변수명이 들어가 있습니다. 이렇게하면 자동으로 변수의 값을 가져올 수 있습니다. 변수로부터 가져오기 설정하는것보다 빠르게 작업할 수 있고, 문자열에 추가적인 로직을 만들어서 넣을수도 있습니다. 이 부분은 오토핫키 또는 파이썬 예제를 참고하시면 됩니다. 직접 변수를 입력하거나 [ 내장 변수 ]를 사용하는 방법도 한번 읽어보시면 매크로 제작에 도움이 되실겁니다.

    ※ 직접 변수: 중괄호 안에 변수명을 입력하면 해당 액션이 실행될 때 변수 값으로 치환되어 사용할 수 있습니다.

    kPDFzOP.png

     

     

    숫자는 0이 아닌 1부터 시작하기 때문에 1부터 시작 속성을 True로 설정했습니다. 그리고, 문자 채움은 0을 사용합니다. 길이는 2로 변경해줘야 하고, 숫자가 자동으로 증가할 수 있도록 숫자 증가 속성도 True로 설정하세요. 변경할 파일명에 보면 플레이스 홀더(Place Holder, {N})가 하나 추가되어 있습니다. 플레이스 홀더는 숫자 증가 값이 파일명에 붙도록 해줍니다. 숫자 길이를 3으로 바꿔볼까요?

    GyyHqMU.png

     

     

    이제 1부터 999까지 팀 업무 프로세스를 만들 수 있고 자연스럽게 정렬됩니다. 간단하죠^^; 플레이스 홀더를 뒤로 이동해볼까요? 변경할 파일명을 아래와 같이 바꾸고 실행 해보세요. 아래 그림처럼 변경되었을겁니다. 왜 이렇게 변경되는지 이제 이해가 되었을겁니다.

    • 업무 프로세스 ({N}팀)

    o0TsqWZ.png

     

     

    플레이스 홀더가 없으면 자동으로 뒤에 숫자가 붙습니다.

    • 업무 프로세스

    h0S1rxh.png

     

     

    날짜를 추가하려면 날짜 추가 속성에 아래와 같이 입력해주면 됩니다. 숫자는 N이고 날짜는 D를 플레이스 홀더에 사용할 수 있습니다.

    • 날짜 추가: yyyyMMdd
    • 변경할 파일명: {N}팀-업무 프로세스 {D}

    wN4FK8G.png

     

     

    매크로를 실행해보면 아래 그림과 같이 파일명이 변경된것을 확인할 수 있습니다.

    fIzureO.png

     

     

    오늘은 폴더안에 있는 모든 파일명을 한번에 변경하는 방법에 대해 알아보았습니다. 이 예제를 이해하면 변수와 반복기 그리고, 배열을 매크로에서 사용할 수 있을겁니다. 대부분의 업무 자동화 매크로는 변수와 함수 그리고, 반복기와 같은 서브 로직을 제공합니다. 엔지엠 매크로도 기본적인 액션부터 복잡한 프로세스를 처리할 수 있는 액션까지 다양하게 제공하고 있습니다. 이 예제를 테스트하시다가 궁금한점 있으면 커뮤니티의 질문과 답변 게시판에 남겨주세요^^

     

    업무 자동화 RPA 매크로 제작 및 견젹 문의 ]

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.