web-dev-qa-db-ja.com

CMDスクリプトを介してレジストリーまたははは値を削除しますか?

スクリプトでWindowsレジストリ内の特定のレジストリキーを削除させるために、製造中の.cmdスクリプトファイルをどのように編集しますか?

1つ目はこれも可能で、2つ目は(それが不可能な場合)、.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
]
17
Derek

.regファイルを作成してインポートするのではなく、REGコマンドを使用することをお勧めします。

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

または

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

これらのコマンドは、バッチ(.cmd)ファイルに直接入力できます。

25
Patrick Seymour

ここで および ここでMicrosoftによって "レジストリエントリの削除"の下に、あなたは削除することができますキーそのようなキーの前にマイナス " - " を置く:

[-HKEY_LOCAL_MACHINE\SOFTWARE\YourSoft\MyKey]

また、entryを削除するには、= charの後にマイナス " - " を次のように配置します。

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

注:これらはキーの例にすぎません。実際には機能しません。

15
Bruno Bieri

にできるので、 _ reg _ コマンドを使用して.cmdファイルで他のスクリプトを使用しないでください。

これに似たことができます。

REG DELETE "HKEY_CURRENT_USER\SOFTWARE\SomeProgram"

特定のエントリだけを削除したい場合は、キーへのパスの後に/v "EntryName"引数を追加する必要があります。 E. g:

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

どちらも値を削除する前に警告を発します。それを避けるために、最後に/f引数を使うべきです。

REG DELETE "HKEY_CURRENT_USER\SOFTWARE\SomeProgram" /f
4
Draganko

私は以下の方法を使います。これは、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
3
Psycogeek

私は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

改善のためのより明るいアイデアは大歓迎です。 :) :) :)

1
Rhak Kahr