スクリプトで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
]
.regファイルを作成してインポートするのではなく、REGコマンドを使用することをお勧めします。
reg delete "HKCU\Some\Registry\Path" /f
または
reg delete "HKLM\Some\Registry\Path" /f
これらのコマンドは、バッチ(.cmd
)ファイルに直接入力できます。
ここで および ここでMicrosoftによって "レジストリエントリの削除"の下に、あなたは削除することができますキーそのようなキーの前にマイナス " - " を置く:
[-HKEY_LOCAL_MACHINE\SOFTWARE\YourSoft\MyKey]
また、entryを削除するには、= charの後にマイナス " - " を次のように配置します。
[HKEY_LOCAL_MACHINE\SOFTWARE\YourSoft\MyKey]
"MyEntry"=-
注:これらはキーの例にすぎません。実際には機能しません。
がにできるので、 _ 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
私は以下の方法を使います。これは、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
私は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
あるいは、このアルゴリズムによっていくつかのキーを削除したり、いくつかの値を変更したりできると思います。
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
改善のためのより明るいアイデアは大歓迎です。 :) :) :)