Xóa khoá đăng ký hoặc giá trị thông qua tập lệnh CMD?


18

Làm cách nào để chỉnh sửa .cmdtệp tập lệnh đã được sản xuất , để tập lệnh xóa một khóa đăng ký nhất định trong sổ đăng ký Windows?

Thứ nhất, điều này thậm chí có thể, và thứ hai (nếu điều đó là không thể), tôi có thể tạo một .regtệp và thực thi tệp đó từ .cmdtệp không?

Từ trong .cmdtập lệnh, nó không hoạt động:

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

Phương pháp này cũng không hiệu quả với tôi:

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

Sau đó từ trong .regtệp:

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

1
sử dụng tệp .reg, thậm chí từ ổ đĩa mạng sẽ hoạt động tốt. Nếu không, thì tôi hy vọng nó thuộc về UAC hoặc các biện pháp bảo mật khác.
William Hilsum

Câu trả lời:


26

Tôi khuyên bạn nên sử dụng lệnh REG , thay vì tạo và nhập tệp .reg.

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

hoặc là

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

Các lệnh này có thể được nhập trực tiếp vào .cmdtệp batch ( ).


15

Như được mô tả ở đâyở đây bởi Microsoft trong phần "Xóa các mục đăng ký", bạn có thể xóa khóa bằng cách đặt dấu trừ "-" trước một khóa như thế:

[-HKEY_LOCAL_MACHINE\SOFTWARE\YourSoft\MyKey]

Và để xóa một mục nhập , đặt dấu trừ "-" sau dấu = char như thế:

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

Lưu ý: Đó chỉ là các khóa ví dụ. Họ sẽ không thực sự làm việc.


Thật vậy, nó hoạt động.
Peter Mortensen


@Peter Mortensen Đây thậm chí là một tài liệu tham khảo chính thức hơn. Cảm ơn bạn đã chia sẻ.
Bruno Bieri

trớ trêu thay, liên kết hỗ trợ microsoft hiện cung cấp "Lỗi máy chủ trong ứng dụng '/ app / content'."
sdjuan

@sdjuan liên kết Hỗ trợ của Microsoft hoạt động trở lại.
Bruno Bieri

4

Tôi sẽ tránh sử dụng tập lệnh khác vì bạn có thể làm điều này trong tệp .cmd bằng cách sử dụng các lệnh REG .

Bạn có thể làm một cái gì đó tương tự như thế này:

REG DELETE "HKEY_CURRENT_USER\SOFTWARE\SomeProgram"

Nếu bạn chỉ muốn xóa các mục cụ thể thì bạn nên thêm một /v "EntryName"đối số sau đường dẫn đến khóa. Ví dụ:

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

Cả hai điều này sẽ khiến cảnh báo được đưa ra trước khi xóa các giá trị. Để tránh điều đó, bạn nên sử dụng /fđối số ở cuối.

REG DELETE "HKEY_CURRENT_USER\SOFTWARE\SomeProgram" /f

Cảm ơn bạn. Nơi duy nhất trên mạng tôi có thể tìm thấy tham chiếu khóa phụ.
vuông_eyes

3

Tôi sử dụng phương pháp sau. Đây là một phần của trình trích xuất MRU cho Windows XP, có thể giúp ích. Đây là văn bản của một tệp bó, được chạy từ CMD hoặc từ một phím tắt. Nó tạo ra một tệp đăng ký bằng cách sử dụng chuyển hướng echo đơn giản, sau đó nhập nó.

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"

Tôi không phải là lập trình viên, tôi chỉ tự mình làm một số công cụ hàng loạt, vì vậy tôi thậm chí không thể đọc những gì tôi đã viết, nhưng tôi sẽ sử dụng nó như một khuôn mẫu để làm việc khác.

Các tệp echosđược chuyển hướng ( >) đến một tệp, với một >lần chuyển hướng đầu tiên và >>để thêm vào cùng một tệp. Các -dấu hiệu được sử dụng để loại bỏ một mục đăng ký. Có lẽ sẽ tốt hơn nếu bỏ dòng cuối cùng và xem tệp mà nó đã tạo trước khi nhập. Việc nhập có thể được thực hiện trong âm thầm, nhưng tôi sẽ không tự mình làm điều đó.

Tuyên bố miễn trừ trách nhiệm: Vì một người có thể gây ra một số thiệt hại nghiêm trọng cho hệ thống loại bỏ các mục đăng ký, nên một bản sao lưu ảnh đĩa có thể trả về hệ thống khi hệ thống bị lỗi là cần thiết.

Quyền, độ cao và một số mục trong sổ đăng ký sẽ không chỉ cho phép người dùng hủy chúng mà không cần đặt quyền, vì tầm quan trọng của chúng.

Đây là phần "hỏi người dùng", được thêm vào chỉ để cho vui.

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
trên Vista + phương thức này sẽ gọi UAC. và người dùng sẽ phải chấp nhận hoặc từ chối hành động này. Chạy kịch bản với tư cách Quản trị viên sẽ bỏ qua điều đó
Piotr Kula

1
bạn không nên sử dụng% USERPROFILE% \ Cài đặt cục bộ \ Temp, nhưng% TMP%. trước đây chỉ hoạt động trên các hệ thống tiếng Anh
kinokijuf

@kinokijuf Chargexed, trông cũng đẹp hơn nhiều. Có lẽ nó được đặt như thế để giữ nó trên đĩa hệ thống cho tôi, bởi vì tôi đã gửi Temps tới ramdisk hoặc vào các đĩa dữ liệu.
Psycogeek

1

Tôi đang sử dụng Windows 7 và đây là những gì tôi đã nhận được thông qua 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

Hoặc, tôi nghĩ rằng chúng ta có thể XÓA một số khóa hoặc SỬA ĐỔI một số giá trị bằng thuật toán này:

  1. Xuất vị trí đăng ký của khóa / giá trị mà chúng tôi muốn xóa / sửa đổi thành tệp (File01.reg).
  2. Chỉnh sửa / sửa đổi khóa / giá trị phù hợp và lưu vào tệp mới (File02.reg).
  3. Nhập tệp đã sửa đổi (File02.reg) vào Windows Registry.

Tham khảo đăng ký XUẤT KHẨU.

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

Tham khảo đăng ký NHẬP KHẨU.

>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

Ý tưởng sáng sủa hơn để cải thiện được chào đón. :) :) :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.