RegRead

레지스트리로부터 값을 읽습니다.

RegRead, OutputVar, RootKey\SubKey [, ValueName]  ; v1.1.21+
RegRead, OutputVar, RootKey, SubKey [, ValueName]
선택

매개변수

OutputVar

열람된 값을 저장할 변수의 이름. 변수를 열람할 수 없으면, 변수는 비워지고 ErrorLevel에 1이 설정됩니다.

RootKey

다음 HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT, 또는 HKEY_CURRENT_CONFIG 중 하나 (또는 HKLM와 같은 약자). 원격 레지스트리에 접근하려면, 다음 예제와 같이 컴퓨터 이름과 쌍점을 (또는 v1.1.21+이면, 정사선을) 앞에 배치하십시오: \\workstation01:HKEY_LOCAL_MACHINE

SubKey

하위키의 이름 (예, Software\SomeApplication).

RootKey\SubKey [v1.1.21+]

RootKey 다음에 정사선이 오면 (\), RootKeySubKey는 하나의 매개변수로 합병됩니다.

ValueName

열람될 값의 이름. 생략하면, Subkey의 기본 값이 열람됩니다. 이 값은 RegEdit이 "(Default)"로 보여주는 값입니다. 기본 값이 없다면 (즉, RegEdit "value not set"이라고 보여주면), OutputVar는 비워지고 ErrorLevel은 1이 설정됩니다.

ErrorLevel

[v1.1.04+] 이 명령어는 실패시 예외를 던질 수 있습니다. 더 자세한 정보는 실행시간 에러를 참조하십시오.

ErrorLevel은 문제가 있었으면 1이 설정되고 (예를 들어 존재하지 않는 값이나 키) 그렇지 않으면 0이 설정됩니다.

A_LastError은 운영 체제의 GetLastError() 함수의 결과가 저장됩니다.

논평

현재 다음의 값 유형만 지원됩니다: REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD, 그리고 REG_BINARY.

REG_DWORD 값은 언제나 양의 십진수로 표현됩니다.

REG_BINARY 키를 읽을 때 그 결과는 십육진 문자로 구성된 문자열입니다. 예를 들어 REG_BINARY 값이 01,a9,ff,77이면 문자열 01A9FF77로 읽힙니다.

REG_MULTI_SZ 키를 읽을 때, 각 구성요소는 라인피드 문자로 끝납니다 (`n). 구성요소가 없다면, OutputVar는 비워집니다. OutputVar로부터 개별적으로 구성요소를 추출하는 방법을 보여주는 예는 FileSelectFile을 참조하십시오.

REG_BINARY 값이 64K보다 크면 v1.1.10.01 이상에서만 읽을 수 있습니다.

여러 레지스트리 키나 값을 열람하고 처리하려면, 레지스트리-회돌이의 사용을 고려해 보십시오.

원격 컴퓨터의 레지스트리에 접근하는 법에 관한 자세한 정보는 레지스트리-회돌이의 논평을 참조하십시오.

32-비트 스크립트에서 64-비트 섹션의 레지스트리로부터 엔트리를 또는 그 반대로 읽고 쓰려면, SetRegView를 사용하십시오.

관련 항목

RegDelete, RegWrite, Registry-loop, SetRegView, IniRead

예제

; 예제: 프로그램 파일 디렉토리의 경로를 열람합니다.

; 아래의 줄은 OS는 64-비트인데 스크립트는 그렇지 않을 경우,
; 64-비트 프로그램 파일의 경로가 반환된다는 것을 확인합니다.
SetRegView 64  ; v1.1.08+ 필요

RegRead, OutputVar, HKEY_LOCAL_MACHINE, SOFTWARE\Microsoft\Windows\CurrentVersion, ProgramFilesDir
MsgBox, Program files are in: %OutputVar%

; 다른 구문 (v1.1.21+ 필요):
RegRead, OutputVar, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion, ProgramFilesDir
MsgBox, Program files are in: %OutputVar%

; 프로그램 파일 디렉토리 경로를 열람하는 또다른 방법:
EnvGet OutputVar, % A_Is64bitOS ? "ProgramW6432" : "ProgramFiles"
MsgBox, Program files are in: %OutputVar%
선택 | 내려받기

 

; 다음 예제는 레지스트리 값의 유형을 열람합니다 (예, REG_SZ 또는 REG_DWORD).
MsgBox % RegKeyType("HKCU", "Environment", "TEMP")
return

RegKeyType(RootKey, SubKey, ValueName)  ; 이 함수는 지정된 값의 유형을 돌려줍니다.
{
    Loop, %RootKey%, %SubKey%
        if (A_LoopRegName = ValueName)
            return A_LoopRegType
    return "Error"
}
선택 | 내려받기