.bat/.cmd 스크립트를 통해 레지스트리 값 (문자열 또는 DWORD 여부)을 수정할 수 있습니까?.bat/.cmd 스크립트를 통해 레지스트리 항목을 수정할 수 있습니까?
답변
당신은 REG 명령을 사용할 수 있습니다 참조하십시오. http://www.ss64.com/nt/reg.html에서 :
Syntax:
REG QUERY [ROOT\]RegKey /v ValueName [/s]
REG QUERY [ROOT\]RegKey /ve --This returns the (default) value
REG ADD [ROOT\]RegKey /v ValueName [/t DataType] [/S Separator] [/d Data] [/f]
REG ADD [ROOT\]RegKey /ve [/d Data] [/f] -- Set the (default) value
REG DELETE [ROOT\]RegKey /v ValueName [/f]
REG DELETE [ROOT\]RegKey /ve [/f] -- Remove the (default) value
REG DELETE [ROOT\]RegKey /va [/f] -- Delete all values under this key
REG COPY [\\SourceMachine\][ROOT\]RegKey [\\DestMachine\][ROOT\]RegKey
REG EXPORT [ROOT\]RegKey FileName.reg
REG IMPORT FileName.reg
REG SAVE [ROOT\]RegKey FileName.hiv
REG RESTORE \\MachineName\[ROOT]\KeyName FileName.hiv
REG LOAD FileName KeyName
REG UNLOAD KeyName
REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/v ValueName] [Output] [/s]
REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/ve] [Output] [/s]
Key:
ROOT :
HKLM = HKey_Local_machine (default)
HKCU = HKey_current_user
HKU = HKey_users
HKCR = HKey_classes_root
ValueName : The value, under the selected RegKey, to edit.
(default is all keys and values)
/d Data : The actual data to store as a "String", integer etc
/f : Force an update without prompting "Value exists, overwrite Y/N"
\\Machine : Name of remote machine - omitting defaults to current machine.
Only HKLM and HKU are available on remote machines.
FileName : The filename to save or restore a registry hive.
KeyName : A key name to load a hive file into. (Creating a new key)
/S : Query all subkeys and values.
/S Separator : Character to use as the separator in REG_MULTI_SZ values
the default is "\0"
/t DataType : REG_SZ (default) | REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ
Output : /od (only differences) /os (only matches) /oa (all) /on (no output)
이 대답은 매우 모호하며 모든 기능을 나열하더라도 (좋은 점) @nray의 대답과 달리 OP 질문에 명확하게 대답하지 않습니다 –
당신은 .reg 파일을 만들고 그것을 시작 호출 할 수 있습니다. 레지스트리의 일부를 .reg 파일로 내보내 어떤 형식인지 확인할 수 있습니다. 여기
형식이 다른 소프트웨어를 설치하지 않고 모든 Windows 시스템에서 실행 할 수 있습니다
http://support.microsoft.com/kb/310516
.
예, 스크립트 reg
명령을 사용 할 수 있습니다. 예 :이 그 키에 "버전"이라는 문자열 값 "v2.4.6"를 HKEY_CURRENT_USER\Software\SomeProduct
키를 생성하고 추가 할 수
reg add HKCU\Software\SomeProduct
reg add HKCU\Software\SomeProduct /v Version /t REG_SZ /d v2.4.6
.
reg /?
는 세부 사항을 가지고있다.
예. 운영 체제와 함께 제공되는 reg.exe를 사용하여 레지스트리 값을 추가, 삭제 또는 쿼리 할 수 있습니다. Reg.exe에는 명시 적 수정 명령이 없지만 삭제를 수행 한 다음 추가 할 수 있습니다. reg.exe를 할뿐만 아니라
은, 내가보기 엔 당신은 또한 레지스트리 취급의 훨씬 더 능력, 파워 쉘을 확인하는 것이 좋습니다.
PowerShell 스크립트는 먼저 클라이언트 컴퓨터에서 사용하도록 설정해야합니다 'Set-ExecutionPolicy'를 사용합니다. RemoteSigned 실행 정책을 설정하기 위해 레지스트리를 수정하는 배치 스크립트가 있습니다. 이점은 사용자가 명령을 입력하지 않고 PowerShell 스크립트를 활성화하고 실행할 수 있다는 것입니다. 그들은 단지 배치 파일을 더블 클릭 할 수 있습니다. –
@Franci Penov - 가 /f
와 덮어 쓰기 의 의미에서 가능한입니다 수정 예
reg add "HKCU\Software\etc\etc" /f /v "value" /t REG_SZ /d "Yes"
+1 for the/f 나는 두 개의 스크립트를 작성했으나/f를 사용하지 않으면 고통 스러웠다. 스크립트를 실행할 때 "y + [return]"을 입력해야합니다. – amyassin
감사합니다. 이것은 기존 키를 수정하는 방법을 설명하므로 허용 된 대답이어야합니다. –
이것은 당신이 예 않고, 레지스트리를 수정할 수 없습니다 또는 더 프롬프트를하고하는 것을 잊지 마세요 방법입니다 관리자 권한으로 실행 다음
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\etc\etc /v Valuename /t REG_SZ /d valuedata /f
내 기본 브라우저로 인터넷 익스플로러를 설정하는 실제 예입니다
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice /v ProgId /t REG_SZ /d IE.HTTPS /f
/F 포스 : 실제 데이터 정수 등은 "문자열"로 저장
:/D 데이터 " Y/N 덮어 값이 존재"메시지를 표시하지 않고 업데이트를 강제
/V의 값 : 값 이름의 예는
/t 데이터 형식의 ProgID : REG_SZ (기본값) | REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ
읽기, 설정에 대해 자세히 알아 또는 레지스트리 키와 값을 삭제하는 .REG 파일에서 저장하고 복원 할 수 있습니다.here
@Shersha Fn이 지적했듯이 REG.EXE를 사용하려면 관리자 여야합니다. 비 관리자로 이것을 수행하고 '액세스가 거부되었습니다'라는 메시지를 피할 수있는 방법이 있습니까? –