ลบคีย์รีจิสทรีหรือค่าผ่านสคริปต์ 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 หรือมาตรการรักษาความปลอดภัยอื่น ๆ
William Hilsum

คำตอบ:


26

ฉันอยากจะแนะนำให้ใช้คำสั่งREGแทนที่จะสร้างและนำเข้าไฟล์. reg

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

หรือ

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

คำสั่งเหล่านี้สามารถป้อนโดยตรงไปยัง.cmdไฟล์batch ( )


15

ตามที่อธิบายไว้ที่นี่และที่นี่โดย Microsoftภายใต้ "การลบรายการรีจิสตรี" คุณสามารถลบคีย์ได้โดยวางเครื่องหมายลบ"-"ไว้ข้างหน้าคีย์เช่น:

[-HKEY_LOCAL_MACHINE\SOFTWARE\YourSoft\MyKey]

และหากต้องการลบรายการให้วางเครื่องหมายลบ"-"หลังจาก = char เช่นนั้น:

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

หมายเหตุ: ปุ่มเหล่านี้เป็นเพียงตัวอย่างเท่านั้น พวกเขาจะไม่ทำงานจริง ๆ


มันใช้งานได้จริง
Peter Mortensen


@Peter Mortensen นี่เป็นข้อมูลอ้างอิงที่เป็นทางการมากยิ่งขึ้น ขอบคุณสำหรับการแชร์.
Bruno Bieri

แดกดันที่ลิงค์สนับสนุนของ Microsoft ในขณะนี้ให้ "Server Error ใน '/ app / เนื้อหา' แอปพลิเคชัน"
sdjuan

@sdjuan ลิงก์ Microsoft Support ใช้งานได้อีกครั้ง
Bruno Bieri

4

ฉันจะหลีกเลี่ยงการใช้สคริปต์อื่นเนื่องจากคุณสามารถทำได้ในไฟล์. cmd โดยใช้คำสั่งREG

คุณสามารถทำสิ่งที่คล้ายกับสิ่งนี้:

REG DELETE "HKEY_CURRENT_USER\SOFTWARE\SomeProgram"

หากคุณต้องการที่จะลบเฉพาะรายการที่เฉพาะเจาะจงแล้วคุณควรเพิ่ม/v "EntryName"อาร์กิวเมนต์หลังจากเส้นทางไปยังคีย์ เช่น:

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

ทั้งสองสิ่งนี้จะทำให้เกิดการเตือนก่อนที่จะลบค่า เพื่อหลีกเลี่ยงปัญหานี้คุณควรใช้/fอาร์กิวเมนต์ในตอนท้าย

REG DELETE "HKEY_CURRENT_USER\SOFTWARE\SomeProgram" /f

ขอขอบคุณ. ที่เดียวบนเน็ตฉันสามารถหาที่อ้างอิงคีย์ย่อย
square_eyes

3

ฉันใช้วิธีการดังต่อไปนี้ นี่เป็นส่วนหนึ่งของMRU ripper สำหรับ Windows XP ที่อาจช่วยได้ นี่คือข้อความของแบตช์ไฟล์ที่เรียกใช้จาก 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"

ฉันไม่ใช่ coder ฉันแค่ทำแบทช์บางอย่างเพื่อตัวเองดังนั้นฉันมักจะไม่สามารถอ่านสิ่งที่ฉันเขียนได้ แต่ฉันจะใช้มันเป็นเทมเพลตสำหรับทำอย่างอื่น

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 ไปที่ ramdisk หรือดิสก์ข้อมูลในบางครั้ง
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 Registry

อ้างอิงไปยังรีจิสทรี 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

อ้างอิงถึงการนำเข้ารีจิสทรี

>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.