맨위로가기

Subst

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

SUBST는 경로를 드라이브 문자로 지정하는 명령어로, MS-DOS 3.1 버전부터 지원되었다. 이 명령어를 사용하면 특정 경로를 가상 드라이브로 지정하거나, 가상 드라이브를 삭제할 수 있다. SUBST는 윈도우 운영체제에서도 지원되며, 명령 프롬프트에서 사용 가능하다. SUBST 명령어는 `SUBST [드라이브1: [드라이브2:]경로]` 또는 `SUBST 드라이브1: /D` 형태로 사용하며, 드라이브 매핑을 생성하거나 해제할 수 있다. 하지만 SUBST로 생성된 드라이브는 자동 실행, 휴지통 기능, 접근 권한 등에서 몇 가지 제한 사항이 존재한다.

더 읽어볼만한 페이지

  • 외부 도스 명령어 - COMMAND.COM
    COMMAND.COM은 MS-DOS 운영체제에서 명령줄 인터페이스를 제공하는 명령어 해석기로, 파일 관리 및 프로그램 실행 등의 작업을 수행하며, 윈도우 9x에서 MS-DOS 호환성을 위해, FreeDOS에서는 핵심 구성 요소로 사용된다.
  • 외부 도스 명령어 - CHKDSK
    CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.
  • OS/2 명령어 - 파일 전송 프로토콜
    파일 전송 프로토콜(FTP)은 클라이언트-서버 모델 기반으로 네트워크를 통해 파일을 전송하는 표준 통신 규약이며, 명령 연결과 데이터 연결을 사용하고, 보안 취약점 때문에 암호화된 방식 사용이 권장된다.
  • OS/2 명령어 - CHKDSK
    CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.
  • 윈도우 명령어 - 파워셸
    파워셸은 마이크로소프트에서 개발한 작업 자동화 솔루션으로, 명령줄 셸과 스크립트 언어의 기능을 결합하여 윈도우 시스템 관리를 위해 설계되었으며, .NET 프레임워크 기반의 객체 지향적 특징을 갖고 다양한 플랫폼에서 자동화 스크립트 작성 및 실행, 시스템 구성 관리 등에 활용된다.
  • 윈도우 명령어 - 클립보드
    클립보드는 텍스트 조각을 임시 저장하는 버퍼로, 잘라내기, 복사, 붙여넣기 기능을 구현하며, 다양한 데이터 형식을 지원하고 애플리케이션 간 데이터 교환에 사용되며 보안 취약점의 대상이 될 수 있다.
Subst - [IT 관련 정보]에 관한 문서
명령어 개요
종류운영 체제 명령어
개발사마이크로소프트
IBM
Digital Research
ReactOS 기여자
최초 출시1985년
최신 버전(정보 없음)
운영 체제MS-DOS
PC DOS
SISNE plus
OS/2
eComStation
ArcaOS
DR DOS
ROM-DOS
PTS-DOS
FreeDOS
Windows
ReactOS
플랫폼크로스 플랫폼
장르명령어
라이선스(정보 없음)
웹사이트subst 명령어 공식 문서 (Microsoft)
설명
기능드라이브 경로를 가상 드라이브 문자에 할당하는 명령어

2. 역사

SUBST 명령어는 MS-DOS 3.1 버전부터 도입되었다.[3] 이 명령어는 플로팅 드라이브와 유사한 기능을 제공하며, Digital Research 기반 운영 체제에서 더 일반적인 개념이었다. DR DOS 6.0에도 SUBST 명령어 구현이 포함되어 있다.[4] 이 명령어는 FreeDOS[5]PTS-DOS에서도 사용할 수 있다.[6] 현재의 윈도우 운영체제에서도 지원되는 버전의 명령 줄 인터프리터 cmd.exe에서 SUBST 명령어를 사용할 수 있다.[7]

`JOIN` 명령어는 `SUBST`의 반대 명령어이다. `JOIN`은 드라이브 문자를 가져와 디렉토리로 표시하는 기능을 한다.

일부 버전의 MS-DOS `COMMAND.COM`은 문서화되지 않은 내부 명령어 `TRUENAME`을 지원한다. 이 명령어는 파일의 실제 이름, 즉 드라이브, 경로 및 확장자를 포함하는 정규화된 전체 이름을 표시할 수 있으며, PATH 환경 변수를 통하거나 `SUBST`, `JOIN` 및 `ASSIGN` 파일 시스템 매핑을 통해 이름만으로 찾을 수 있다.

2. 1. 운영체제별 지원

MS-DOS 3.1 릴리스와 함께 `SUBST` 명령어가 추가되었다.[3] 이 명령어는 플로팅 드라이브와 유사하며, 이는 CP/M-86 2.x, Personal CP/M-86 2.x, Concurrent DOS, Multiuser DOS, System Manager 7, REAL/32, DOS Plus 및 DR DOS (6.0까지)를 포함하는 Digital Research 기반 운영 체제에서 더 일반적인 개념이다. DR DOS 6.0에는 `SUBST` 명령어 구현이 포함되어 있다.[4] 이 명령어는 FreeDOS[5]PTS-DOS에서도 사용할 수 있다.[6] Windows `SUBST` 명령어는 지원되는 버전의 명령 줄 인터프리터 cmd.exe에서 사용할 수 있다.[7] Windows NT에서 `SUBST`는 `DefineDosDevice()`를 사용하여 디스크 매핑을 생성한다.

3. 사용법

`SUBST` 명령어는 경로를 드라이브 문자로 지정하는 데 사용된다.[1] 윈도우 비스타윈도우 XP에서 사용 가능하다.

자세한 사용법은 하위 섹션(기본 구문, 매개 변수, 윈도우 비스타에서의 사용 예시)을 참고.

3. 1. 기본 구문

`SUBST [드라이브1: [드라이브2:]경로]`

`SUBST 드라이브1: /D`

  • 드라이브1: 경로에 지정할 가상 드라이브를 지정한다.
  • [드라이브2:]경로: 가상 드라이브에 지정할 실제 드라이브와 경로를 지정한다.
  • /D: 가상 드라이브를 지운다.


매개 변수를 지정하지 않고 SUBST를 사용하면, 현재의 가상 드라이브를 표시한다.

예를 들어 C:의 루트를 X: 드라이브로 마운트하려면 명령 줄에 `subst X: C:\`라고 입력하면 된다. 이렇게 하면 탐색기에 X:라는 새로운 드라이브가 나타난다.

3. 2. 매개 변수


  • `드라이브1:`: 가상 드라이브로 지정할 드라이브 문자이다.
  • `[드라이브2:]경로`: 가상 드라이브에 연결할 실제 드라이브 및 경로이다.
  • `/D`: 지정된 가상 드라이브를 삭제한다.


예를 들어 C:의 루트를 X: 드라이브로 마운트하려면 명령 줄에 `subst X: C:\`라고 입력하면 된다. 이렇게 하면 탐색기에 X:라는 새로운 드라이브가 나타난다.

3. 3. 윈도우 비스타에서의 사용 예시

윈도우 비스타의 명령 프롬프트에서 실행한 `SUBST` 도움말의 출력문은 다음과 같다.[1]



Microsoft Windows [Version 6.0.6000]

(C) Copyright 1985-2005 Microsoft Corp.

C:\>subst /?

경로를 드라이브 문자로 지정합니다.

SUBST [드라이브1: [드라이브2:]경로]

SUBST 드라이브1: /D

드라이브1: 경로에 지정할 가상 드라이브를 지정합니다.

[드라이브2:]경로 가상 드라이브에 지정할 실제 드라이브와 경로를

지정합니다.

/D 가상 드라이브를 지웁니다.

매개 변수를 지정하지 않고 SUBST를 사용하면, 현재의 가상 드라이브를 표시합니다.

C:\>



예를 들어 C:의 루트를 X: 드라이브로 마운트하려면 명령 줄에 `subst X: C:\`라고 입력하면 된다.[1] 이렇게 하면 탐색기에 X:라는 새로운 드라이브가 나타난다.[1]

4. 예제

윈도우 비스타의 명령 프롬프트에서 SUBST 도움말을 보려면 `subst /?` 명령어를 사용한다.[1]

```text

경로를 드라이브 문자로 지정합니다.

SUBST [드라이브1: [드라이브2:]경로]

SUBST 드라이브1: /D

드라이브1: 경로에 지정할 가상 드라이브를 지정합니다.

[드라이브2:]경로 가상 드라이브에 지정할 실제 드라이브와 경로를

지정합니다.

/D 가상 드라이브를 지웁니다.

매개 변수를 지정하지 않고 SUBST를 사용하면 현재의 가상 드라이브를 표시합니다.

```

예를 들어 C: 드라이브의 루트를 X:로 매핑할 수 있다.[1] 자세한 내용은 하위 섹션 "드라이브 매핑"을 참조하면 된다.

4. 1. 드라이브 매핑

`SUBST X: C:\` 명령을 사용하면 C 드라이브의 루트를 X 드라이브로 매핑할 수 있다.[1] 이렇게 하면 윈도우 탐색기의 '내 컴퓨터' 가상 폴더에 X:라는 새로운 드라이브가 나타난다.[1]

명령 줄 인터페이스에서 다음 명령을 실행하면 된다.[1]

```doscon

C:\>SUBST X: C:\

4. 2. 드라이브 매핑 해제

doscon

SUBST X: /D

5. 고급 활용

SUBST 명령어는 시스템 설정을 변경하거나 드라이브 관리를 편리하게 하는 데 활용할 수 있다.

레지스트리 편집을 통해 `SUBST`로 생성된 드라이브에 사용자 지정 레이블을 할당할 수 있다. 윈도우 탐색기 또는 내 컴퓨터에서 `SUBST` 드라이브의 이름을 바꾸는 방식으로 레지스트리 키를 생성할 수 있다. 드라이브 문자 컨텍스트 메뉴에서 "이름 바꾸기"를 선택하거나, F2 키를 눌러 이름을 변경하면 된다.[8] 다만, 사용자 지정 레이블은 호스트 드라이브에 레이블이 없는 경우에만 표시된다. `LABEL` 명령어는 `SUBST`로 생성된 드라이브 문자의 레이블 이름을 변경할 수 없으며,[8] `LABEL`은 물리적 드라이브에서만 작동한다.[9]

`Subst` 명령으로 만든 가상 드라이브는 시스템 재부팅 시 유지되지 않지만, 레지스트리 편집을 통해 재부팅 후에도 유지되도록 설정할 수 있다. `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices` 키에 새 문자열 값을 만들어 영구적인 가상 드라이브를 설정할 수 있다. 설정 방법은 다음과 같다.


  • 이름: "X:" (X는 원하는 드라이브 문자)
  • : `\??\C:\some\directory` (권장)


레지스트리 파일(.reg)을 만들어 더 쉽게 설정을 가져올 수도 있다. 레지스트리를 변경한 후에는 컴퓨터를 재부팅해야 변경 사항이 적용된다.

`HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices`는 Unix 시스템의 /etc/fstab과 유사하게 드라이브 문자를 특정 하드 디스크 파티션에 매핑하는 것을 정의한다.

5. 1. 사용자 지정 레이블

레지스트리 편집을 통해 `SUBST`로 생성된 드라이브에 사용자 지정 레이블을 할당할 수 있다. 사용자 지정 레이블은 호스트 드라이브에 레이블이 없는 경우에만 표시된다.

레지스트리 키는 Windows 탐색기 또는 내 컴퓨터에서 `SUBST` 드라이브의 이름을 바꾸는 방식으로 생성할 수 있다. 드라이브 문자 컨텍스트 메뉴에서 "이름 바꾸기"를 선택하거나, F2 키를 눌러 이름을 변경할 수 있다.[8]

"M"은 사용자 지정 레이블을 할당할 드라이브 문자를 나타낸다. 다음은 레지스트리 키의 예시이다.

```

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\M\DefaultLabel\

```

```

(DefaultValue) = ''사용자 지정 드라이브 레이블''

```

`SUBST` 드라이브에 대해 생성된 레이블은 호스트 드라이브/파티션의 레이블로 재정의된다. 즉, 사용자 지정 레이블은 호스트 드라이브에 레이블이 없는 경우에만 적용된다.

사용자 지정 레이블을 적용하려면 다음 단계를 따른다.

# 호스트의 드라이브 레이블을 삭제한다.

# `SUBST` 드라이브 문자에 대한 올바른 레지스트리 키를 생성한다.

# 호스트 드라이브 문자에 대한 올바른 레지스트리 키를 생성한다. (선택 사항)

# 레이블 변경 사항을 적용하려면 `SUBST` 드라이브를 다시 생성한다.

`LABEL` 명령은 `SUBST`를 사용하여 생성된 드라이브 문자의 레이블 이름을 변경할 수 없다.[8] `LABEL`은 물리적 드라이브에서만 작동하는 여러 명령 중 하나이다.[9]

5. 2. 재부팅 후에도 유지되는 가상 드라이브 설정

Subst 명령을 사용하여 만든 가상 드라이브는 시스템을 재부팅하면 유지되지 않는다. 하지만, 레지스트리 편집을 통해 재부팅 후에도 유지되는 가상 드라이브를 설정할 수 있다.
레지스트리 편집 (DOS Devices)`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices` 키에 새로운 문자열 값을 만들어 영구적인 가상 드라이브를 설정할 수 있다.

  • 이름: "X:" (X는 원하는 드라이브 문자)
  • : 다음 형식 중 하나로 경로를 지정한다.
  • `\??\C:\some\directory` (권장)
  • `\DosDevices\C:\some\directory`
  • `\Device\Mup\127.0.0.1\C$\some\directory` (SMB 공유를 사용하므로 권장하지 않음)


레지스트리 파일(.reg)을 만들어 더 쉽게 설정을 가져올 수 있다.
레지스트리 파일 예시:```

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]

"F:"="\\??\\D:\\Mount\\db"

"G:"="\\??\\D:\\Mount\\log"

```

레지스트리를 변경한 후에는 컴퓨터를 재부팅해야 변경 사항이 적용된다.
MountedDevices 레지스트리 키`HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices`는 Unix 시스템의 /etc/fstab과 유사하게 드라이브 문자를 특정 하드 디스크 파티션에 매핑하는 것을 정의한다. 수동 편집은 가능하지만, 해당 특정 설치된 Windows 운영 체제가 "비활성" 상태일 때만 가능하다.
시작 폴더에 배치 파일(.bat) 추가 (권장되지 않음)사용자 계정의 시작 폴더에 `SUBST` 명령을 실행하는 배치 파일을 추가하여 사용자 로그온 시 자동으로 가상 드라이브를 생성할 수 있다.
배치 파일 예시:```dosbatch

@ECHO off

SUBST f: d:\mount\db

SUBST g: d:\mount\log

```

이 방법은 사용자 로그온이 완료된 후에 매핑이 나타나므로 권장되지 않는다. 변경 사항을 적용하려면 사용자가 로그오프했다가 다시 로그인해야 한다.
레지스트리 편집 (Run) (권장되지 않음)`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run` (컴퓨터 시작 시) 또는 `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run` (사용자 로그온 시) 키를 수정하여 부팅 또는 사용자 로그온 시 자동으로 `SUBST` 명령을 실행할 수 있다.

레지스트리 파일(.reg)을 사용하여 설정을 쉽게 가져올 수 있다.
레지스트리 파일 예시 (컴퓨터 부팅 시):```registry

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"F Drive"="SUBST f: d:\\mount\\db"

"G Drive"="SUBST g: d:\\mount\\log"

```
레지스트리 파일 예시 (사용자 로그온 시):```registry

REGEDIT4

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"F Drive"="SUBST f: d:\\mount\\db"

"G Drive"="SUBST g: d:\\mount\\log"

```

이 방법은 부팅이 끝날 때만 매핑이 나타나므로 권장되지 않는다. 컴퓨터 부팅 시 실행 예시는 재부팅이 필요하고, 사용자 로그온 예시는 로그오프 후 다시 로그온해야 변경 사항이 적용된다.

6. TRUENAME 명령어 (MS-DOS)

일부 MS-DOS 버전의 COMMAND.COM은 문서화되지 않은 내부 TRUENAME 명령어를 지원한다. 이 명령어는 파일의 "실제 이름", 즉 드라이브, 경로 및 확장자를 포함하는 정규화된 전체 이름을 표시할 수 있다. TRUENAME 명령어는 PATH 환경 변수를 통하거나 `SUBST`, `JOIN`, `ASSIGN` 파일 시스템 매핑을 통해 이름만으로 파일을 찾을 수 있게 해준다.[3]

7. JOIN 명령어와의 관계

`JOIN` 명령어는 `SUBST` 명령어와 반대되는 기능을 수행한다. `JOIN` 명령어는 드라이브 문자를 가져와 디렉터리로 표시한다.[3]

8. 제한 사항

SUBST 명령어를 사용하면 몇 가지 제한 사항이 발생한다. 모든 윈도우 프로세스가 이 명령으로 생성된 드라이브 문자를 올바르게 인식하는 것은 아니다.[10] 또한, 생성된 드라이브의 파일이나 폴더는 다른 접근 권한을 가질 수 있어 소프트웨어 설치가 제대로 작동하지 않을 수 있다. 윈도우 설치 프로그램이 생성한 Config.msi 디렉토리에 접근할 수 없거나, 관리자 권한이 있는 사용자도 로그 파일을 쓸 수 없는 문제가 발생할 수 있다.[11]

8. 1. 윈도우 프로세스 호환성

모든 윈도우 프로세스가 SUBST 명령으로 생성된 드라이브 문자를 올바르게 인식하는 것은 아니다.

  • 물리 계층에서 디스크에 작용하는 Windows 작업은 불가능하다.[10]
  • 적어도 Microsoft Windows XP SP2부터 새로운 드라이브 문자에 있는 autorun.inf 파일이 무시되므로, 자동 실행/자동 재생이 이 방식으로 생성된 드라이브 문자에서는 작동하지 않는다. 또한 autorun.inf를 통해 이 방식으로 생성된 드라이브 문자에 사용자 지정 아이콘이나 레이블을 할당하는 것도 작동하지 않는다. subst로 생성된 드라이브 문자에 할당된 사용자 지정 레이블은 소스 드라이브/볼륨에 볼륨 레이블이 설정되어 있지 않은 경우에만 나타난다 (label 명령어를 사용하여 확인 및 설정).
  • Windows Vista부터 삭제된 파일은 즉시 영구적으로 삭제되며, 휴지통으로 이동되지 않는다. Windows Vista 이전 버전(예: Windows XP)에서는 대체된 "디스크"의 파일이 삭제될 때 휴지통으로 이동되었다. 레지스트리 항목을 추가하여 휴지통을 다시 활성화할 수 있다.[11]
  • 이 방식으로 생성된 드라이브의 파일이나 폴더는 다른 접근 권한을 가질 수 있다. 소프트웨어 설치가 제대로 작동하지 않을 수 있는데, 이는 윈도우 설치 프로그램이 생성한 Config.msi 디렉토리에 제대로 접근할 수 없기 때문이다. 실행 중인 사용자에게 관리자 권한이 있더라도 로그 파일을 쓸 수 없다.

8. 2. 자동 실행 문제

Microsoft영어 Windows XP SP2부터 새로운 드라이브 문자에 있는 autorun.inf 파일이 무시되므로, 이 방식으로 생성된 드라이브 문자에서는 자동 실행/자동 재생이 작동하지 않는다. 또한 autorun.inf를 통해 이 방식으로 생성된 드라이브 문자에 사용자 지정 아이콘이나 레이블을 할당하는 것도 작동하지 않는다. subst로 생성된 드라이브 문자에 할당된 사용자 지정 레이블은 소스 드라이브/볼륨에 볼륨 레이블이 설정되어 있지 않은 경우에만 나타난다 (label 명령어를 사용하여 확인 및 설정).[10]

8. 3. 휴지통 문제 (Windows Vista 이후)

Windows Vista 이후 버전에서는 SUBST로 생성된 드라이브에서 파일이 삭제될 때 휴지통으로 이동하지 않고 즉시 영구 삭제된다.[11] Windows XP와 같은 Windows Vista 이전 버전에서는 대체된 "디스크"의 파일이 삭제될 때 휴지통으로 이동되었다.[11] 레지스트리 항목을 추가하여 휴지통 기능을 다시 활성화할 수 있다.[11]

8. 4. 접근 권한 문제

SUBST로 생성된 드라이브의 파일이나 폴더는 접근 권한이 다르게 작동할 수 있다.[10] 이는 윈도우 설치 프로그램이 생성한 Config.msi 디렉토리에 제대로 접근할 수 없어 소프트웨어 설치가 제대로 작동하지 않을 수 있기 때문이다. 사용자에게 관리자 권한이 있더라도 로그 파일을 쓸 수 없다.

참조

[1] 웹사이트 JaTomes Help - OS/2 Commands http://www.jatomes.c[...]
[2] 웹사이트 Reactos/Reactos https://github.com/r[...] 2021-11-22
[3] 서적 Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition Microsoft Press 2003
[4] 문서 DR DOS 6.0 User Guide Optimisation and Configuration Tips https://www.4corn.co[...]
[5] 웹사이트 FreeDOS 1.2 Updates Group - FreeDOS Base Ibiblio.org 2022-09-04
[6] 웹사이트 PTS-DOS 2000 Pro User Manual http://download.para[...] Paragon Technology GmbH 2018-05-12
[7] 웹사이트 Subst https://learn.micros[...] 2009-09-11
[8] 웹사이트 Change network drive label by command line https://superuser.co[...]
[9] 웹사이트 Subst https://learn.micros[...] 2023-02-03
[10] 웹사이트 Microsoft.com http://www.microsoft[...]
[11] 웹사이트 Windows - How to make SUBST mapping persistent across reboots? https://superuser.co[...]
[12] 문서 마이크로소프트 문건 http://technet.micro[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com