cmdからregeditの指定されたパスに実行するにはどうすればよいですか?特定のサービスに新しいキーを追加したいと思います。誰かが私を助けることができますか?これをc#コードから実行したいのですが、最初にcmdから実行しようとしています。どうも
cmdからHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Serviceに移動し、サービスサービスに値を持つ新しいキーを追加したいと思います。私はcmdで書きました:regedit "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Service" add /v KeyName Parameters
しかし、ファイルを読み込めないというエラーがあります。どうして?
Regeditを使用してcmdからレジストリエントリを追加するには、追加するデータを含む* .regファイルを作成します。簡単な例:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\TestKey]
"TestDWORD"=dword:00000123
次に、これを実行します:regedit/s myreg.reg
これにより、TestKeyという名前のキー(regeditブラウザーにフォルダーのように表示されます)がHKEY_CURRENT_USER\Softwareに追加されます。 TestKeyキーには、16進数で123(10進数で291)を含む「TestDWORD」という名前のDWORDエントリが含まれています。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\TestKey]
"TestDWORD"=dword:00000123
[HKEY_CURRENT_USER\Software\TestKey\SubKey]
"StringEntry"="StringValue"
これにより、TestKey @ HKEY_CURRENT_USER\Softwareに加えて、文字列エントリ(「StringEntry」という名前)と「StringValue」の値を持つTestKeyのサブキー「SubKey」が作成されます。
さまざまな種類のエントリを作成する方法を見つける簡単な方法があります。regeditGUIを使用して目的のエントリを作成し、キーをマークして、[メニューファイル]-> [エクスポート]を使用します。生成されたファイルには、キーとそのエントリが含まれます。
C#でレジストリエントリを作成するには: http://msdn.Microsoft.com/en-us/library/h5e7chcf.aspx
あなたが使用することができます
reg add "HKLM\SYSTEM\CurrentControlSet\services\Service" /v "KeyName" /d "Parameters" /f
これにより、パラメーターを含むデータを含むKeyNameという名前の値(/ v)が作成されます。/fスイッチは、確認と中断をオーバーライドするために使用されるため、ユーザー入力なしでコマンドを実行でき、テストは省略できます。さらに、/ vを/ ve(値が空)に置き換えて、値の名前をまったく指定しないようにすることができます。これにより、データ(/ d)をデフォルトのキー値に書き込むことができます。また、書き込み先のパスが存在しない場合、警告なしにキーが作成されます。
詳細については、reg /?と入力してください。コマンドラインで
「cmdからregeditで指定されたパスに実行する」の意味がわかりません。
ただし、バッチファイルからレジストリキーを設定する場合は、Regeditからエクスポートして.reg
ファイルを作成し、reg import [filename.reg]
を実行します(ここで、[filename.reg]
はファイルの名前です。エクスポート)。
特定のキーを表示するためにRegeditを開きたい場合は、 特定のパスでWindowsのRegEditを起動する方法 を参照してください。