PowerShell を使用して、ファイルを開いたり閉じたりするときにタスクを自動化することは可能ですか? 具体的には、ファイルを右クリックすると「コンテキスト メニュー」が表示されますが、ファイルを開いたり閉じたりするときに、メニュー内の項目の 1 つを自動的に実行することは可能ですか?
答え1
あなたの質問を完全に理解しているわけではないので、ここで私たちが同じことについて話しているかどうか確認できるように、質問を自分の言葉で言い換えさせてください。
私の理解では、エクスプローラーにコンテキスト項目を表示して、ファイルを右クリックしてエントリを選択すると、スクリプトの 1 つを使用して PowerShell が起動し、選択したファイルのファイル名が追加の引数として解析されるようにしたいということですね。
ファイル引数を取得するために Powershell スクリプトで何が必要かを確認するには、次の質問を参照してください。https://stackoverflow.com/questions/2157554/powershell でのコマンドライン引数の処理方法(この回答の後半でコードの例を示します)
次に、レジストリの HKEY_CLASSES_ROOT の * の下に、コンテキスト メニュー項目用の新しいキー セットを作成する必要があります。
次のフォルダ構造を作成します: *\MyScript\Command\Open
MyScript に任意の名前を付けます。コンテキスト メニューに表示されます。
Open のデフォルト パラメータに PowerShell へのフル パスを指定し、次にスクリプトのフル パス、最後にファイル自体の -file %1 を指定します。
スクリプトでは、
param (
[string]$file = ""
)
$file が空かどうかを確認すると、ファイルが解析されなかったことがわかります。