Windows 7でPowerShellを「デフォルト」に設定できますか?


9

デフォルトでは、たとえば、バッチファイルの実行時や、「ここでコマンドウィンドウを開く」などの場合に、コマンドの代わりにPowerShellを起動したいと思います。

助言がありますか?


5
私はpowershellがバッチファイルを解釈できないと思うので、おそらくそれらを開いてはいけません。
nhinkle '28年

回答:


9

非常に簡単なテストを実行したところ、次のレジストリエントリによって、エクスプローラのすべてのフォルダのコンテキストメニューに「PowerShell here」項目が追加されます。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere]
@="&PowerShell here"

[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere\command]
@="cmd.exe /c start \"PS\" powershell.exe -NoExit -Command \"cd \\\"%1\\\"\""

レジストリにインポートするだけです。cmd.exeパスをハードコーディングする必要を回避するために、Powershellのブートストラップに使用しています。

cmdスクリプト/バッチファイルについて。デフォルトでPowerShell内でCMDスクリプトを実行することはあまり意味がないと思います。しかし、HKCR\cmdfile\shell\openレジストリキーを変更することによっても可能かもしれません


ありがとう!今夜は試してみます。スクリプトをpowershellで開いてほしい唯一の理由は、ウィンドウツールとの一貫性と連携のためです。本質的な実用的な理由はないというのはあなたの言う通りです。;)
Ipsquiggle

0

PowerShellでCMDバッチファイルを実行することはそれほど難しくありません。

%COMSPEC%powershell.exe使用してポイントするように変数を変更してみることができますがsetx、これが本当に悪いアイデアであることを認識して再度変更するのに長い時間がかかるとは思いません。

* .batではなく* .ps1としてファイルを保存すると、Powershellが使用されます


1
なぜそれが悪い考えなのですか?ちょっと興味があるんだけど。
afrazier

@afrazier:%COMSPEC%非CMD互換のシェルに変更する実験はしていませんが、PowerShellに変更すると、.cmd/ .batファイルがPowerShellで実行され、失敗することになると思います。バッチファイルを使用するために必要な多くのソフトウェアをインストールしたので、そうすることは悪い考えです。また、日常的にファイルを管理するためにCMD(実際には拡張スーパーセットであるTCC)を常に使用しているため、私は少し偏っています。比較するととても強力です。
パラドロイド、2011年

1
ちょっと%ComSpec%笑って、Win7システムでPowerShellを指すように変更しました。.cmdテストした最初のいくつかのファイルは問題なく動作します。それらはcmd固有の構成体(for、変数操作if)を含むため、PSは明らかに呼び出す必要がある時期を知るのに十分スマートcmd.exeです。
afrazier

たとえば、%ComSpec%powershell に変更すると、Mercurialバージョン管理コマンドが中断されます。
希望
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.