सीएमडी स्क्रिप्ट के माध्यम से रजिस्ट्री कुंजी या मूल्य हटाएं?


18

.cmdविंडोज रजिस्ट्री में स्क्रिप्ट को एक निश्चित रजिस्ट्री कुंजी को हटाने के लिए मैं पहले से ही उत्पादन स्क्रिप्ट फ़ाइल को कैसे संपादित करूं ?

सबसे पहले, क्या यह संभव है, और दूसरी बात (यदि यह संभव नहीं है), क्या मैं एक .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 फ़ाइल का उपयोग करना, यहां तक ​​कि नेटवर्क ड्राइव से भी ठीक काम करना चाहिए। यदि ऐसा नहीं है, तो मुझे उम्मीद है कि यह यूएसी या अन्य सुरक्षा उपायों के लिए नीचे है।
विलियम हिल्सम

जवाबों:


26

मैं । Reg फ़ाइलों को बनाने और आयात करने के बजाय REG कमांड का उपयोग करने की सलाह दूंगा।

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

या

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

इन आदेशों को सीधे बैच ( .cmd) फ़ाइल में दर्ज किया जा सकता है ।


15

जैसा कि माइक्रोसॉफ्ट द्वारा "रजिस्ट्री प्रविष्टियों को हटाना" के तहत यहां और यहां वर्णित किया गया है , आप इस तरह से एक कुंजी के सामने माइनस "-" रखकर एक कुंजी निकाल सकते हैं :

[-HKEY_LOCAL_MACHINE\SOFTWARE\YourSoft\MyKey]

और एक प्रविष्टि को हटाने के लिए , माइनस को "-" जैसे = चार के बाद रखें:

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

नोट: वे केवल उदाहरण कुंजी हैं। वे वास्तव में काम नहीं करेंगे।


वास्तव में, यह काम करता है।
पीटर मॉर्टेंसन


@ पेटर मोर्टेंसन यह और भी अधिक आधिकारिक संदर्भ है। साझा करने के लिए धन्यवाद।
ब्रूनो बीरी

विडंबना यह है कि वर्तमान में Microsoft समर्थन लिंक "/ एप्लिकेशन / सामग्री 'में सर्वर त्रुटि देता है।"
sdjuan

@sdjuan Microsoft समर्थन लिंक फिर से काम करता है।
ब्रूनो बीरी

4

मैं एक और स्क्रिप्ट का उपयोग करने से बचूंगा क्योंकि आप ऐसा कर सकते हैं । REG आदेशों का उपयोग करके एक .cmd फ़ाइल में ।

आप ऐसा ही कुछ कर सकते हैं:

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

धन्यवाद। नेट पर एकमात्र स्थान मुझे मिल सकता है जो एक उप कुंजी को संदर्भित करता है।
वर्ग_अयर्स

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
विस्टा + पर यह विधि यूएसी को लागू करेगी। और उपयोगकर्ता को इस क्रिया को स्वीकार या अस्वीकार करना होगा। स्क्रिप्ट को एडमिन के रूप में चलाने से बाईपास हो जाएगा
पिओट्र कुला

1
आपको% USERPROFILE% \ Local Settings \ Temp का उपयोग नहीं करना चाहिए, लेकिन% TMP%। पूर्व केवल अंग्रेजी सिस्टम पर काम करता है
किनोकिजुफ

@kinokijuf Feexed, इस तरह से बहुत अच्छे लगते हैं। यह शायद मेरे लिए सिस्टम डिस्क पर रखने के लिए इस तरह सेट किया गया था, क्योंकि मैंने टेम्प्लेट को रैमडिस्क या डेटा डिस्क पर कई बार भेजा है।
१६:३० पर Psycogeek

1

मैं विंडोज 7 का उपयोग कर रहा हूं और सीएमडी के माध्यम से मुझे यही मिला है:

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. Windows रजिस्ट्री में उस संशोधित फ़ाइल (File02.reg) को आयात करें।

एक्सपोर्ट रजिस्ट्री का संदर्भ।

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

सुधार के लिए उज्जवल विचारों का स्वागत है। :) :) :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.