새 프로젝트를 시작할 때마다 같은 폴더를 다시 만드는 일이 있습니다. 계약, 원본, 편집본, 납품처럼 구조는 이미 정해져 있는데 탐색기에서 폴더를 하나씩 만들고 이름을 붙여야 합니다.
흥미로운 점은 폴더를 만들기 전에 목록부터 엑셀에 정리하는 경우가 많다는 것입니다. 필요한 구조는 이미 표 안에 있는데, 실제 폴더로 옮기는 과정만 수작업으로 남아 있었습니다.
입력 방법부터 정해야 했다
처음에는 트리 모양의 텍스트를 직접 쓰게 하는 방식을 생각할 수 있습니다.
프로젝트
계약
이미지
원본
편집본
트리 모양은 결과를 알아보기 쉽지만 일반 메모장에서 Tab을 누르면 다음 입력칸으로 초점이 이동합니다. 예제에 들어 있는 공백을 다시 복사해야 한다면 직접 편집하기도 어렵습니다.
그래서 도구 안의 편집기에서는 한 줄에 폴더 하나를 적고 Tab을 누르면 그 줄이 한 단계 아래로 내려가게 했습니다. Shift+Tab은 한 단계 위로 올리고, Enter를 누르면 현재 들여쓰기 단계가 다음 줄에도 이어집니다.
엑셀에서 가져오는 방식도 그대로 지원합니다. A열은 1단계, B열은 2단계, C열은 3단계 폴더로 해석합니다. 엑셀 범위를 복사하면 열 사이에 들어가는 탭 문자가 같은 폴더 깊이로 변환됩니다.
최상위 폴더가 꼭 하나인 것은 아니다
처음에는 모든 폴더를 하나의 프로젝트 폴더 안에 넣는 구조를 떠올렸습니다. 하지만 실제 목록에는 최상위 폴더가 여러 개일 수도 있고, 공통으로 묶을 이름이 아직 정해지지 않았을 수도 있습니다.
도구가 임의의 최상위 폴더를 만들면 사용자는 압축을 푼 뒤 한 번 더 구조를 수정해야 합니다. 그래서 가장 왼쪽에서 실제 값이 시작하는 열을 1단계로 삼고, 최상위 폴더도 여러 개 만들 수 있게 했습니다. ZIP 파일명은 폴더 구조와 별도로 수정할 수 있습니다.
자동 수정은 숨기지 않았다
Windows 폴더명에는 \ / : * ? " < > | 같은 문자를 사용할 수 없습니다. CON, PRN, AUX 같은 예약 이름도 문제가 됩니다. 그대로 ZIP을 만들면 압축 해제 단계에서 오류가 생길 수 있습니다.
금지 문자는 밑줄로 바꾸되, 바뀐 이름을 트리에서 표시하도록 했습니다. 같은 경로가 반복되면 하나로 합치고 경고합니다. 반대로 부모가 없는 하위 폴더처럼 도구가 의도를 결정할 수 없는 입력은 자동으로 추측하지 않고 다운로드를 막습니다.
만들어진 결과를 먼저 보여주는 이유
이 도구에서 가장 중요한 화면은 다운로드 버튼이 아니라 폴더 트리 미리보기입니다. 수십 개의 빈 폴더를 만든 뒤 오류를 발견하면 다시 압축을 풀고 정리해야 하기 때문입니다.
입력과 결과를 나란히 놓아 A열, B열, C열이 어떤 구조로 해석됐는지 바로 비교할 수 있게 했습니다. 사용자는 파일을 만들기 전에 구조와 자동으로 수정된 이름을 확인할 수 있습니다.
결과
엑셀에 정리한 폴더 목록을 붙여넣으면 실제 빈 폴더 항목이 들어 있는 ZIP을 내려받을 수 있게 됐습니다. .xlsx 파일 자체를 올릴 필요가 없고, 입력한 폴더명도 서버로 전송하지 않습니다.
범용 파일 관리 프로그램을 만들기보다 표에 이미 적어 둔 구조를 실제 폴더로 옮긴다는 한 가지 반복 작업에 집중한 결과입니다.