2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« PowerShellで画面全体やアクティブウィンドウのスナップショットを取得する。 | トップページ | PowerShellの.PS1ファイルの関連付け(その2) »

2007年7月25日 (水)

PowerShellの.PS1ファイルの関連付け

PowerShellの.PS1ファイルの関連付けは、貧弱です。
標準では、実行もされず、ましてやファイルのドロップもできません。
そこで、起動とドロップの関連付けです。それがなかなか曲者です。

一応、ドロップにも対応してますが、最大8個までです。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1]
"EditFlags"=dword:00020000

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\DefaultIcon]
@="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe,0"

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell]

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Open]

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Open\Command]
@="\"C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe\" -noexit -command \"& '%1' '%2' '%3' '%4' '%5' '%6' '%7' '%8' '%9' \""

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\ShellEx]

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\ShellEx\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"

ウィンドウを開いたままにしてます。閉じるなら-noexitを外します。

空白区切りのエスケープは'です。"は無視されるようです。

引数が7個以下の場合、空の引数が渡るので注意!

ちゃんとやるのは、関連付けだけでは無理そう。
シンタクスを変換するバッチかスクリプトが必要です。

« PowerShellで画面全体やアクティブウィンドウのスナップショットを取得する。 | トップページ | PowerShellの.PS1ファイルの関連付け(その2) »