従来バッチファイルと呼ばれていたものは、*.BATという拡張子でした。(DOS/Win9x)
Windows NT系からは*.CMDという拡張子に変わって、微妙に変化しているのですが、過去の誤解のままBAT拡張子を利用している人が多いってのが現状でしょう。
#あれ、今確認するとどっちもcmd.exeが起動しているなぁ、Windows 2000でだったかなぁcommand.exeとcmd.exeの起動の違いは
でPowerShellではどうかっていうと、*.ps1というファイル名になります。
Unix系では*.shや*.kshなどが一般的でしょうか。
でこのps1って拡張子がなぜかPowerShell RC2では関連付けに失敗します。
https://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedbackID=217932&SiteID=99
追試してもらえればと思います。
#パッケージングのレベルが低くないか心配です。
.ps1だけ実行可能にするためには以下のようなスクリプトを流してください。
レジストリを変更しますので、自己責任でお願いします。
copy-item registry::HKCR\Microsoft.PowerShellConsole.1\Shell registry::HKCR\Microsoft.PowerShellScript.1 -recurse
でもレジストリなのにこんなに簡単にコピーできていいでしょう?