遠くまで使いたいのですが、どうしたらいいのかわかりません。PowerShellスクリプトがあり、コマンドメニューから実行したいと思います。これだよ:
powershell C:\tgit.ps1{選択されたファイル}
{選択したファイル}を実際に選択したファイルに置き換えたいです。または、ない場合は空の文字列を使用します。出来ますか?
遠くまで使いたいのですが、どうしたらいいのかわかりません。PowerShellスクリプトがあり、コマンドメニューから実行したいと思います。これだよ:
powershell C:\tgit.ps1{選択されたファイル}
{選択したファイル}を実際に選択したファイルに置き換えたいです。または、ない場合は空の文字列を使用します。出来ますか?
残念ながら、これは完全には不可能です。
次のように、選択したファイルのリストをコマンドに渡すことができます...
powershell C:\tgit.ps1 !&
...しかし、ファイルが選択されていない場合、これは要求どおりに空の文字列を渡しません (ただし、現在カーソルの下にあるファイル)。選択したファイルのリストが現在カーソルの下にあるファイルと等しいかどうかを確認し、その場合は引数なしでコマンドを呼び出すことができます。
IF "!.!" == "!&" ( powershell C:\tgit.ps1 ) ELSE ( powershell C:\tgit.ps1 !& )
ただし、単一のファイルを選択し、カーソルがその選択したファイルにもある場合は、引数なしでバリアントを呼び出すようになりました。これは一種の特殊なケースですが、要件を完全に満たすソリューションは思いつきません。