右クリックメニューのバッチファイル

右クリックメニューのバッチファイル

情報を暗号化するバッチ ファイルを作成しています。オブジェクトを右クリックして「テスト」ボタンをクリックするとバッチ ファイルが実行されるように作成しました。

regedit私は追加しました

Computer\HKEY_CLASSES_ROOT\*\shell\Test\command

コマンドのデータは

C:\Users\%username%\Desktop\encrypt.bat

データ(追加したレジストリ キー内)に対して何を行う必要がありますか。また、変数にはどのように保存されますか。

答え1

ファイルタイプに、そのタイプで起動するスクリプトを関連付ける必要があります。Windows では、これはすべて拡張子に基づいています (少なくとも XP では、7 についてはわかりませんが、変更されていないと思います)。ファイルの拡張子が「.abc」で、アプリが次のようになっているとします。

c:\program files\dummy\process.bat

(現時点では変数を削除しました。.reg ファイルでこれがどのように動作するかはわかりません)

したがって、次の内容を含む config.reg テキスト ファイルを編集するだけです。

Windows Registry Editor Version 5.00

; the extension .abc gets associated with a file type
[HKEY_CLASSES_ROOT\.abc]
@="abc-file"

; the file-type gets a name (that appears in explorer in field "type")
[HKEY_CLASSES_ROOT\abc-file]
@="foo file"

; What will appear in the contextual menu when selecting an .abc file
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1]
@="--- Process ! ----"

; What to do with it
; here, %1 is the file given as argument of the script
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1\command]
@="\"c:\\program files\\dummy\\process.bat\" \"%1\""

最後にインポートします。これで完了です。

追加コメント:

  • 奇妙な引用符やバックスラッシュは、スペースを含む名前を正しく処理できるようにするためにあります。はい、ファイル名にスペースを入れる人はいません。それとも入れているのでしょうか? とにかく、そういうことは起こります!
  • もちろん、ファイル タイプごとに複数のコマンドを設定できます。.reg の最後の 2 つのキーをコピーするだけです (cmdname-1 ==> cmdname-2)
  • 同じファイルタイプに異なるファイル拡張子を関連付けることもできます。たとえば、HTMLファイルには.htmまたは.htmlのいずれかを付けることができます。
  • アクションをフォルダに関連付けることもできます。ファイルの種類を「フォルダ」に置き換えます。
  • 「アンインストール」機能を提供すると便利です。別の reg ファイルを作成し、作成したキーの前に「-」を付けるだけです。

関連情報