Choice (명령어)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
`Choice` 명령어는 사용자가 선택할 수 있는 옵션을 제공하는 명령줄 인터페이스(CLI) 셸 명령어이다. MS-DOS 6.0에서 처음 도입되었으며, Novell DOS, IBM PC DOS, Windows Server 2003 및 기타 운영 체제에서도 사용할 수 있다. 이 명령어는 사용자가 선택한 사항을 종료 코드로 반환하며, 문법은 DOS와 Microsoft Windows, ReactOS에서 약간의 차이를 보인다.
더 읽어볼만한 페이지
- 외부 도스 명령어 - COMMAND.COM
COMMAND.COM은 MS-DOS 운영체제에서 명령줄 인터페이스를 제공하는 명령어 해석기로, 파일 관리 및 프로그램 실행 등의 작업을 수행하며, 윈도우 9x에서 MS-DOS 호환성을 위해, FreeDOS에서는 핵심 구성 요소로 사용된다. - 외부 도스 명령어 - CHKDSK
CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다. - 윈도우 관리 - 블루스크린
블루스크린은 윈도우 운영체제에서 발생하는 치명적인 오류로, 컴퓨터 작동을 멈추고 파란색 화면에 오류 메시지를 표시하며, 하드웨어 또는 소프트웨어 문제로 인해 발생하고, 시스템 복원, 안전 모드 부팅 등의 방법으로 대처한다. - 윈도우 관리 - 파워셸
파워셸은 마이크로소프트에서 개발한 작업 자동화 솔루션으로, 명령줄 셸과 스크립트 언어의 기능을 결합하여 윈도우 시스템 관리를 위해 설계되었으며, .NET 프레임워크 기반의 객체 지향적 특징을 갖고 다양한 플랫폼에서 자동화 스크립트 작성 및 실행, 시스템 구성 관리 등에 활용된다.
Choice (명령어) - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
![]() choice 명령어 | |
개발자 | 마이크로소프트 노벨 Datalight 짐 홀 ReactOS 기여자들 |
출시일 | 1993년 |
운영체제 | DOS 윈도우 ReactOS |
플랫폼 | 크로스 플랫폼 |
장르 | 명령 |
라이선스 | MS-DOS, PC DOS, DR-DOS, 윈도우, PTS-DOS: 사유 상용 소프트웨어 |
웹사이트 | choice 명령어 문서 (Microsoft) |
2. 역사
`choice` 명령어는 MS-DOS 6.0에서 CHOICE.COM 또는 CHOICE.EXE 파일 이름을 가진 외부 명령어로 처음 도입되었다.[2] Novell DOS 7과 IBM PC DOS 7.0에 포함되었으며, 일부 마이크로소프트 Windows 버전의 명령줄 셸에서도 사용할 수 있었다. 하지만 Windows 2000 및 Windows XP에서는 사용할 수 없었고, Windows XP Resource Kit에서 Windows용으로 처음 제공되었다.[3][4]
Windows Server 2003에서 다시 도입된 이후 계속 사용되고 있다.[5] Windows 2000부터는 `SET` 명령어에 `/P` 명령줄 인자를 사용하여 유사한 기능을 제공하지만, `choice` 명령어와 달리 Enter 키를 추가로 눌러야 한다.
`choice` 명령어는 OS/2, Rexx, Perl로 이식되었다.[6] Datalight ROM-DOS,[7] FreeDOS,[8] PTS-DOS,[9] ReactOS에서도 사용할 수 있으며,[10] FreeDOS 버전은 짐 홀이 개발하고 GPL v2 라이선스로 배포한다.[11]
2. 1. MS-DOS
이 명령어는 MS-DOS 6.0에서 CHOICE.COM 또는 CHOICE.EXE 파일 이름의 외부 명령어로 처음 도입되었다.[2] Novell DOS 7과 IBM PC DOS 7.0에 포함되었으며, 일부 마이크로소프트 Windows 버전의 명령줄 셸에서도 사용할 수 있었다. 그러나 Windows 2000 및 Windows XP에서는 사용할 수 없었다.[3] 이후 Windows XP Resource Kit에서 Windows용으로 처음 제공되었다.[4]이 명령어는 Windows Server 2003에서 다시 도입되었으며 이후 버전에도 존재한다.[5]
2. 2. Novell DOS 및 IBM PC DOS
이 명령어는 Novell DOS 7 및 IBM PC DOS 7.0에 포함되어 있다.[3]2. 3. Windows
이 명령어는 MS-DOS 6.0에서 외부 명령어(파일 이름 CHOICE.COM 또는 CHOICE.EXE)로 처음 도입되었다.[2] Novell DOS 7 및 IBM PC DOS 7.0에 포함되었으며, 일부 마이크로소프트 Windows 명령줄 셸에서도 사용할 수 있었다. 하지만 Windows 2000 및 Windows XP에서는 사용할 수 없었다.[3] 이후 Windows XP Resource Kit에서 Windows용으로 처음 제공되었다.[4]Windows Server 2003부터 다시 도입되었으며 이후 버전에도 존재한다.[5] Windows 2000부터는 `SET` 명령어에 `/P` 명령줄 인자를 사용하여 유사한 기능을 제공하지만, `choice` 명령어와 달리 Enter 키를 추가로 눌러야 하는 번거로움이 있다.
2. 4. 기타 운영체제
choice
명령어는 OS/2, Rexx, Perl로 이식되었다.[6] 또한 Datalight ROM-DOS,[7] FreeDOS,[8] PTS-DOS,[9] 및 ReactOS에서도 사용할 수 있다.[10] FreeDOS 버전은 짐 홀이 개발했으며 GPL v2 라이선스로 배포된다.[11]3. 사용법
이 명령어는 사용자가 선택한 사항을 종료 코드로 반환하며, 이 코드는 사용자가 선택 목록에서 선택한 키의 인덱스로 설정된다. 목록의 첫 번째 항목은 값 1, 두 번째 항목은 값 2를 반환하는 식이다.
유효하지 않은 키를 누르면 경고음이 울린다. 오류가 감지되면 종료 코드 255가 반환된다. 사용자가 + 또는 +를 누르면 종료 코드 0이 반환된다.[12]
매개변수 없이 사용하면 기본 선택 사항인 Y와 N이 표시된다.[12]
3. 1. 종료 코드
이 명령어는 사용자가 선택한 사항을 종료 코드로 반환하며, 이 코드는 사용자가 선택 목록에서 선택한 키의 인덱스로 설정된다. 목록의 첫 번째 선택 항목은 값 1을 반환하고, 두 번째 항목은 값 2를 반환하는 식이다.유효하지 않은 선택 키가 눌러지면 경고음이 울린다. 오류 조건이 감지되면 종료 코드 값 255가 반환된다. 사용자가 + 또는 +를 누르면 종료 코드 값 0이 반환된다.[12]
Choice는 매개변수 없이 사용될 경우 기본 선택 사항인 Y와 N을 표시한다.[12]
3. 2. 경고음
사용자가 유효하지 않은 선택 키를 누르면 경고음이 울린다.[12]3. 3. 기본 선택 사항
매개변수 없이 `Choice` 명령어를 사용하면 Y와 N의 기본 선택 사항이 표시된다.[12]4. 문법
`CHOICE` 명령어는 사용자가 선택지 중 하나를 고를 수 있게 해주는 명령어이다. DOS와 Microsoft Windows, ReactOS에서 `CHOICE` 명령어의 문법은 다음과 같다.
=== DOS ===
`CHOICE [/C[:]선택지] [/N] [/S] [/T[:]c,nn] ["텍스트"]`
인수 | 설명 |
---|---|
` /C[:]선택지` | 허용 가능한 키를 지정한다. 기본값은 "YN"이다. |
` /T[:]c,nn` | "nn"초 후에 기본 선택을 "c"로 지정한다. |
`텍스트` | 표시할 프롬프트 문자열을 지정한다. (따옴표는 선택 사항이다). |
플래그 | 설명 |
`/N` | 프롬프트 문자열 끝에 선택 사항과 "?"를 표시하지 않도록 지정한다. |
`/S` | 선택 키를 대소문자를 구분하여 처리하도록 지정한다. |
=== Microsoft Windows, ReactOS ===CHOICE [/C [<선택1><선택2><…>]] [/N] [/CS] [/T <시간제한> /D <선택>] [/M <"텍스트">]
- '''/C[:]선택''' : 허용되는 키를 지정한다. 기본값은 "YN"이다. (Microsoft Windows는 유효한 선택 키를 a-z, A-Z, 0-9 및 128~254 사이의 ASCII 값으로 제한한다.)
- '''/T[:]nn''' : "nn"초 후에 기본 선택을 /D로 지정한다. /D와 함께 지정해야 한다.
- '''/D[:]c''' : 기본 선택을 'c'로 지정한다.
- '''/M 텍스트''' : 표시할 프롬프트 문자열을 지정한다.
플래그:
- '''/N''' : 프롬프트 문자열 끝에 선택 항목과 "?"를 표시하지 않도록 지정한다.
- '''/CS''' : 선택 키를 대소문자를 구분하는 것으로 처리하도록 지정한다.
4. 1. DOS
`CHOICE [/C[:]선택지] [/N] [/S] [/T[:]c,nn] ["텍스트"]`인수와 플래그는 다음과 같다.
인수 | 설명 |
---|---|
` /C[:]선택지` | 허용 가능한 키를 지정한다. 기본값은 "YN"이다. |
` /T[:]c,nn` | "nn"초 후에 기본 선택을 "c"로 지정한다. |
`텍스트` | 표시할 프롬프트 문자열을 지정한다. (따옴표는 선택 사항이다). |
플래그 | 설명 |
`/N` | 프롬프트 문자열 끝에 선택 사항과 "?"를 표시하지 않도록 지정한다. |
`/S` | 선택 키를 대소문자를 구분하여 처리하도록 지정한다. |
4. 2. Microsoft Windows, ReactOS
CHOICE [/C [<선택1><선택2><…>]] [/N] [/CS] [/T <시간제한> /D <선택>] [/M <"텍스트">]
- '''/C[:]선택''' : 허용되는 키를 지정한다. 기본값은 "YN"이다. (Microsoft Windows는 유효한 선택 키를 a-z, A-Z, 0-9 및 128~254 사이의 ASCII 값으로 제한한다.)
- '''/T[:]nn''' : "nn"초 후에 기본 선택을 /D로 지정한다. /D와 함께 지정해야 한다.
- '''/D[:]c''' : 기본 선택을 'c'로 지정한다.
- '''/M 텍스트''' : 표시할 프롬프트 문자열을 지정한다.
플래그:
- '''/N''' : 프롬프트 문자열 끝에 선택 항목과 "?"를 표시하지 않도록 지정한다.
- '''/CS''' : 선택 키를 대소문자를 구분하는 것으로 처리하도록 지정한다.
5. 예제
다음은 사용자에게 세 가지 선택 사항을 제공하는 배치 파일 예제이다.[13]
```dosbatch
@ECHO off
@CHOICE /C:123
IF ERRORLEVEL 3 GOTO three
IF ERRORLEVEL 2 GOTO two
IF ERRORLEVEL 1 GOTO one
GOTO end
:one
ECHO You have pressed "1"!
GOTO end
:two
ECHO You have pressed "2"!
GOTO end
:three
ECHO You have pressed "3"!
:end
@PAUSE
```
`IF ERRORLEVEL` 명령은 "크거나 같음"을 테스트하여 종료 코드를 평가하고, 사용자의 입력에 따라 안내를 한다. 선택한 항목은 `ECHO` 명령을 사용하여 화면에 출력된다.
''이 예제는 DOS 구문을 사용한다. `CHOICE` 명령의 Windows 버전에 직접 적용하려면 약간의 조정이 필요하다.''
''IF 명령은 ERRORLEVEL을 확인할 때 숫자와 비교하여 ERRORLEVEL이 해당 숫자와 같거나 높으면 일치한다. 따라서 IF ERRORLEVEL 비교는 감소하는 순서로 수행해야 한다.''
''사용자가 Control-C를 눌러 CHOICE를 중단하고 N을 누르면 프로그램이 계속 실행된다. 첫 번째 "Goto end"가 필요하다.''
5. 1. DOS 배치 파일 예제
다음 배치 파일은 사용자에게 세 가지 선택 사항을 제공한다.[13] 사용자는 `IF ERRORLEVEL` 명령("크거나 같음"을 테스트)을 사용하여 종료 코드를 평가하여 사용자의 입력에 따라 안내를 받는다. 선택한 항목은ECHO
명령을 사용하여 화면에 출력된다.```dosbatch
@ECHO off
@CHOICE /C:123
IF ERRORLEVEL 3 GOTO three
IF ERRORLEVEL 2 GOTO two
IF ERRORLEVEL 1 GOTO one
GOTO end
:one
ECHO You have pressed "1"!
GOTO end
:two
ECHO You have pressed "2"!
GOTO end
:three
ECHO You have pressed "3"!
:end
@PAUSE
```
''이 예제는 DOS 구문을 사용한다. 이 예제가 `CHOICE` 명령의 Windows 버전에 직접 적용되려면 약간의 조정이 필요하다.''
''IF 명령은 ERRORLEVEL을 확인할 때 숫자와 비교하여 ERRORLEVEL이 해당 숫자와 같거나 높은 경우 일치한다. 이 때문에 IF ERRORLEVEL 비교는 감소하는 순서로 수행해야 한다.''
''사용자가 Control-C를 눌러 CHOICE를 이스케이프한 후 N을 누르면 프로그램이 계속 실행된다. 첫 번째 "Goto end"가 필요하다.''
참조
[1]
서적
DOS: The Complete Reference
https://books.google[...]
Osborne McGraw-Hill
[2]
웹사이트
MS-DOS and Windows command line choice command
https://www.computer[...]
[3]
웹사이트
Microsoft Windows XP Command-line reference A-Z
http://www.microsoft[...]
[4]
웹사이트
Choice - Accept user input - Windows CMD - SS64.com
https://ss64.com/nt/[...]
[5]
웹사이트
Make the Choice command work for you even in Windows 7
https://www.techrepu[...]
2023-10-13
[6]
웹사이트
Batch files - The CHOICE command
https://www.robvande[...]
[7]
웹사이트
Datalight ROM-DOS User's Guide
https://www.dataligh[...]
[8]
웹사이트
ibiblio.org FreeDOS Group -- FreeDOS Base
http://www.ibiblio.o[...]
[9]
웹사이트
PTS-DOS 2000 Pro User Manual
http://download.para[...]
Paragon Technology GmbH
2018-05-12
[10]
웹사이트
reactos/reactos
https://github.com/r[...]
2022-10-27
[11]
웹사이트
ibiblio.org FreeDOS Package -- choice (FreeDOS Base)
http://www.ibiblio.o[...]
[12]
웹사이트
Microsoft TechNet Choice article
https://technet.micr[...]
2016-08-31
[13]
웹사이트
Batch File Help and Support
https://www.computer[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com