CMD 스크립트를 통해 레지스트리 키 또는 값을 삭제 하시겠습니까?


18

.cmd스크립트가 Windows 레지스트리에서 특정 레지스트리 키를 삭제하도록하기 위해 이미 생산중인 스크립트 파일을 편집하는 방법은 무엇입니까?

첫째, 이것이 가능하고 둘째로 (가능하지 않은 경우) .reg파일을 만들어 파일로 실행할 수 .cmd있습니까?

.cmd스크립트 내에서 작동하지 않습니다.

del "[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CurrentVersion\SampleKey]"

이 방법은 저에게도 효과가 없었습니다.

cmd "\\networkdrive\regfiles\deleteSampleKey.reg"

그런 다음 .reg파일 내에서 :

Windows Registry Editor Version 5.00
[
-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
]

1
네트워크 드라이브에서도 .reg 파일을 사용하면 정상적으로 작동합니다. 그렇지 않은 경우 UAC 또는 기타 보안 조치에 따른 것으로 예상됩니다.
윌리엄 힐섬

답변:


26

.reg 파일을 만들고 가져 오는 대신 REG 명령을 사용하는 것이 좋습니다 .

reg delete "HKCU\Some\Registry\Path" /f

또는

reg delete "HKLM\Some\Registry\Path" /f

이 명령은 배치 ( .cmd) 파일 에 직접 입력 할 수 있습니다 .


15

"레지스트리 항목 제거"에서 Microsoft가 여기여기에 설명 했듯이 다음 과 같은 키 앞에 빼기 "-" 를 넣어 를 제거 할 수 있습니다 .

[-HKEY_LOCAL_MACHINE\SOFTWARE\YourSoft\MyKey]

그리고 entry 를 제거 하려면 = char 뒤에 마이너스 "-" 를 넣으십시오.

[HKEY_LOCAL_MACHINE\SOFTWARE\YourSoft\MyKey]
"MyEntry"=-

참고 : 이들은 예시 키일뿐입니다. 실제로 작동하지 않습니다.


실제로 작동합니다.
Peter Mortensen


@Peter Mortensen 이것은 더 공식적인 참조입니다. 공유해 주셔서 감사합니다.
Bruno Bieri

아이러니하게도 Microsoft 지원 링크는 현재 " '/ app / content'응용 프로그램에 서버 오류가 있습니다."
sdjuan

@sdjuan Microsoft 지원 링크가 다시 작동합니다.
Bruno Bieri

4

REG 명령을 사용하여 .cmd 파일 에서이 작업을 수행 할 수 있으므로 다른 스크립트를 사용 하지 마십시오 .

이와 비슷한 것을 할 수 있습니다.

REG DELETE "HKEY_CURRENT_USER\SOFTWARE\SomeProgram"

특정 항목 만 삭제하려면 /v "EntryName"키 경로 뒤에 인수를 추가해야합니다 . 예 : g :

REG DELETE "HKEY_CURRENT_USER\SOFTWARE\SomeProgram" /v "EntryName"

둘 다 값을 삭제하기 전에 경고가 발행됩니다. 이를 피하려면 /f끝에 인수를 사용해야합니다 .

REG DELETE "HKEY_CURRENT_USER\SOFTWARE\SomeProgram" /f

감사합니다. 그물의 유일한 장소는 하위 키를 참조하는 것을 찾을 수 있습니다.
square_eyes

3

다음 방법을 사용합니다. 이것은 Windows XP 용 MRU 리퍼의 일부이며 도움이 될 수 있습니다. CMD 또는 바로 가기에서 실행되는 배치 파일의 텍스트입니다. 간단한 반향 리디렉션을 사용하여 레지스트리 파일을 만든 다음 가져옵니다.

REM *** START REGISTRY SHREDDER ***
ECHO CREATING MRU REGISTRY
ECHO .
 ECHO > "%TMP%\MRUKILL.reg" Windows Registry Editor Version 5.00
ECHO >> "%TMP%\MRUKILL.reg" [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Doc Find Spec MRU]
ECHO >> "%TMP%\MRUKILL.reg" [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FindComputerMRU]

REM ***  IMPORT THAT REG TO WIPE OUT THEM KEYS AND VALUES ****
regedit "%TMP%\MRUKILL.reg"

나는 코더가 아니며, 나 자신을 위해 몇 가지 배치 작업을 수행하기 때문에 종종 내가 쓴 것을 읽을 수는 없지만 다른 것을 수행하기위한 템플릿으로 사용합니다.

echos(리디렉션 >단일로, 파일에) >처음 리디렉션과 >>같은 파일에 추가 할 수 있습니다. -기호는 레지스트리 항목을 제거하는 데 사용됩니다. 마지막 줄을 떠나 가져 오기 전에 만든 파일을 보는 것이 좋습니다. 가져 오기는 자동으로 수행 할 수 있지만 직접 수행하지는 않습니다.

면책 조항 : 개인이 레지스트리 항목을 제거하여 시스템에 심각한 손상을 줄 수 있으므로 시스템 장애가 발생했을 때 시스템을 반환 할 수있는 디스크 이미지 백업이 필요합니다.

레지스트리의 적절한 권한, 권한 상승 및 일부 항목은 사용자가 권한을 설정하지 않고도 권한을 소멸시킬 수있는 것은 아닙니다.

다음은 재미를 위해 추가 된 "사용자 요청"부분입니다.

ECHO
 REM *** ASK the USER FIRST ***  
ECHO  DO YOU WANT TO DELETE REGISTRY MRUS?
SET /P Choice2=type "Y" to Mangle your registry, - -
ECHO . 
IF /I "%Choice2%"=="Y" GOTO SHREDD
ECHO OK WELL THEN I WON'T
ECHO By By 
   REM *** USER DECIDED AGAINST IT ***
ECHO .
PAUSE
GOTO FINISH

1
Vista에서이 메소드는 UAC를 호출합니다. 사용자는이 작업을 수락하거나 거부해야합니다. 관리자로 스크립트를 실행하면이를 무시할 것입니다.
Piotr Kula

1
% USERPROFILE % \ Local Settings \ Temp를 사용하지 말고 % TMP %를 사용해야합니다. 전자는 영어 시스템에서만 작동합니다
kinokijuf

@kinokijuf Feexed는 훨씬 더 멋지게 보입니다. Temps를 램 디스크 또는 데이터 디스크로 보냈기 때문에 시스템 디스크에 보관하도록 설정되었을 수도 있습니다.
Psycogeek

1

Windows 7을 사용하고 있으며 이것이 CMD를 통해 얻은 것입니다.

Fri 08/08/2014  8:13:51.72 | C:\Users\MrCMD
>reg.exe delete /?

REG DELETE KeyName [/v ValueName | /ve | /va] [/f]

  KeyName    [\\Machine\]FullKey
    Machine  Name of remote machine - omitting defaults to the current machine.
             Only HKLM and HKU are available on remote machines.
    FullKey  ROOTKEY\SubKey
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   The full name of a registry key under the selected ROOTKEY.

  ValueName  The value name, under the selected Key, to delete.
             When omitted, all subkeys and values under the Key are deleted.

  /ve        delete the value of empty value name (Default).

  /va        delete all values under this key.

  /f         Forces the deletion without prompt.

Examples:

  REG DELETE HKLM\Software\MyCo\MyApp\Timeout
    Deletes the registry key Timeout and its all subkeys and values

  REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
    Deletes the registry value MTU under MyCo on ZODIAC

또는이 알고리즘으로 일부 키를 삭제하거나 일부 값을 수정할 수 있다고 생각합니다.

  1. 삭제 / 수정하려는 키 / 값의 레지스트리 위치를 파일 (File01.reg)로 내 보냅니다.
  2. 적절한 키 / 값을 편집 / 수정하고 새 파일 (File02.reg)에 저장하십시오.
  3. 수정 된 파일 (File02.reg)을 Windows 레지스트리로 가져옵니다.

EXPORT 레지스트리를 참조하십시오.

Fri 08/08/2014  8:24:53.19 | C:\Users\mardir01
>reg.exe export /?

REG EXPORT KeyName FileName [/y]

  Keyname    ROOTKEY[\SubKey] (local machine only).
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   The full name of a registry key under the selected ROOTKEY.

  FileName   The name of the disk file to export.

  /y       Force overwriting the existing file without prompt.

Examples:

  REG EXPORT HKLM\Software\MyCo\MyApp File01.reg
    Exports all subkeys and values of the key MyApp to the file File01.reg

IMPORT 레지스트리를 참조하십시오.

>reg.exe import /?

REG IMPORT FileName

  FileName  The name of the disk file to import (local machine only).

Examples:

  REG IMPORT File02.reg
    Imports registry entries from the file File02.reg

개선을위한 더 밝은 아이디어를 환영합니다. :) :) :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.