
원드라이브를 사용하면 필연적으로 파일 경로 앞쪽에 “C:\Users\username\OneDrive” 와 같은 경로가 추가됩니다. 일반적인 경우엔 크게 문제가 안되는데, 실험데이터처럼 파일 경로가 길어지면 ‘파일 이름이 너무 깁니다’ 혹은 ‘대상 경로가 너무 깁니다’와 같은 오류 메시지가 뜨면서 파일을 관리할 수 없는 문제가 발생하곤 합니다. 이 글에서는 subst로 폴더에 접근할 때 사용하는 경로를 줄이는 방법을 다룹니다. Windows와 모든 앱의 경로 제한을 해제한 것으로 볼 수는 없습니다.

첫째는 레지스트리를 수정하여 파일 경로 제한을 해제하는 방법입니다. 이 방법의 경우 윈도우에서 설정한 제한을 강제로 해제하는거라 추후에 어떤 문제가 발생할지 모른다는 단점이 있습니다. 또한 이 설정은 관리자 권한을 요구하므로 회사, 공공기관, 학교 등 관리자 권한이 제한되는 PC에서 적용할 수 없는 문제가 있습니다. 경로 글자수 제한 해제 방법은 많은 블로그에서 다루고 있으므로 이 글에서는 생략하도록 하겠습니다.
둘째는 Subst 명령어로 파일 경로를 간결하게 줄이는 방법입니다. “C:\Users\username\OneDrive” 와 같이 경로 앞쪽에서 글자수 길이가 길면서 반복적으로 나타나는 경로를 축약해서 전체 경로 길이를 단축하는 방법입니다. 아래는 이 글에서 사용한 subst 설정 과정입니다. 모든 PC나 앱에서 같은 결과가 나온다고 보장하지는 않습니다.
‘파일 이름이 너무 깁니다’ 오류를 해결하는 subst 명령어 활용법
이 방법은 파일의 실제 경로는 유지하면서도 실제 사용하는 파일 경로를 줄이는 방법입니다. 파일 경로 앞쪽의 반복되는 경로를 Z, Y 드라이브 같은 가상 드라이브에 매핑하는 방법입니다.
- Win + R 을 눌러 cmd를 입력하여 명령프롬프트를 열어줍니다.

Z:를 사용하기 전에 subst로 기존 매핑을 표시하고, 파일 탐색기의 내 PC에서도 같은 문자를 쓰는 드라이브가 있는지 확인하세요. 사용 중이라면 비어 있는 문자를 골라 명령과 배치 파일의 Z:를 모두 바꾸세요. 나중에 매핑을 해제할 때도 삭제하려는 대상이 맞는지 확인한 뒤 subst Z: /d를 실행하세요.
- 다음과 같이 명령어를 입력하여 경로를 가상 드라이브에 맵핑합니다.
- 예를 들어 아래 명령으로 OneDrive 폴더를 Z:에 매핑할 수 있습니다. 예제의 사용자 이름과 경로를 실제 값으로 바꿔 입력하세요.
subst Z: "매핑할 경로"
subst Z: "C:\Users\username\OneDrive"

- 이제 파일탐색기에서 내 PC에 생성된 Z 드라이브로 들어가면 경로가 줄어든 상태로 파일을 열 수 있습니다.

여기까지 가상 드라이브에 경로를 매핑하는 방법을 알아보았습니다. 효율적인 데이터 관리를 위해 폴더 구조를 복잡하게 가져가다 보면 경로가 길어지는 문제는 피할 수 없는데요. subst로 줄인 경로에서 필요한 파일 작업이 가능한지 확인해 보세요. 원래 폴더 구조를 유지하는 방법이지만, 모든 경로 제한을 해제하는 것은 아닙니다.
추가 팁: 가상드라이브 유지하기
subst로 경로를 축약한 가상드라이브를 만든 후 재부팅을 하면 설정한 경로가 풀려버리는 현상을 확인했습니다. 이를 해결하기 위해 시스템이 재부팅 되더라도 가상 드라이브를 유지하는 방법을 알려드리려 합니다.
1. bat 파일 만들기
먼저 메모장을 열어 아래래 명령어를 작성해 주세요.
@echo off
subst
subst | findstr /i /b /l /c:"Z:\:" >nul
if not errorlevel 1 goto confirm
if exist Z:\ goto occupied
goto mount
:confirm
choice /c YN /n /t 15 /d N /m "Remove the listed SUBST mapping for Z: and replace it? [Y/N] "
if errorlevel 2 exit /b 0
if not errorlevel 1 exit /b 1
subst Z: /d
if errorlevel 1 exit /b 1
:mount
subst Z: "C:\Users\username\OneDrive"
exit /b %errorlevel%
:occupied
echo Z: is already in use. Choose another drive letter.
exit /b 1
대상 경로는 실제 폴더로 바꾸세요. 이 배치는 기존 subst 매핑을 먼저 표시합니다. Z:가 subst 매핑이면 삭제 전 확인을 요청하며, 표시된 대상이 교체하려는 매핑일 때만 Y를 누릅니다. N을 누르거나 15초 동안 응답하지 않으면 그대로 두고 종료합니다. Z:가 다른 접근 가능한 드라이브여도 종료합니다. 매핑 실패를 설정 성공으로 간주하지 않습니다. 이 교체 배치는 아직 저자의 Windows PC에서 실행 검증하지 않았습니다.
덧붙이면, 필자는 시작 배치 파일로 재시작할 때마다 대체 경로가 자동 지정되는 구성을 실제로 적용해 사용하고 있습니다. 다만 이 확인형 스크립트 자체는 기존 구성을 안전하게 다듬어 제시한 예시로, 필자의 PC에서 그대로 실행해 검증한 버전은 아닙니다.

그리고 다른이름으로 저장을 하는데 확장자를 mount_drive.bat 처럼 .bat으로 지정해 주세요. 그러면 안에 들어있는 명령어를 실행하는 파일이 생성 됩니다.


2. 시작프로그램 등록하기
이제 윈도우가 부팅될 때마다 해당 배치 파일이 자동으로 실행되도록 시작프로그램 폴더에 등록해 보겠습니다. [Win + R] 키를 눌러 실행 창을 켠 뒤 shell:startup을 입력하면 시작프로그램 폴더가 열립니다. 이 폴더 안으로 앞에서 생성한 .bat 파일을 이동하면 등록이 완료됩니다. 로그인 시 배치 파일이 매핑을 시도하며, 기존 Z: subst 매핑이 있으면 교체 전 확인을 요청합니다. 실제로 매핑이 생성되는지와 필요한 파일 작업이 가능한지는 사용 환경에서 확인해야 하며, 이 배치가 모든 경로 길이 제한을 해제하는 것은 아닙니다.


답글 남기기