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 다음에 정사선이 오면 (
\
), RootKey와 SubKey는 하나의 매개변수로 합병됩니다.- 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" }