私(または実行中のプロセス)がWindows(7)でシェルを起動してコマンドを発行したいとすると、利用可能なオプションがいくつかあります。たとえば、次のことができます。
cmd
と入力して、 Enter;上記のすべてのメソッドは、(デフォルトで)cmd.exe
(通常はWindows\System32
ディレクトリにあります)を起動します。
最近、Microsoft独自のPowerShellなどの代替コマンドラインシェルを好むようになりました。ただし、これらのツールを使用することについて私が最も苛立たしいのは、デフォルトでそれらを介してコマンドを起動するために自分の邪魔にならないように思われることです。
PowerShellやCygwinなど、cmd.exe
を実行するデフォルトの動作を別のシェルに置き換えることができる方法はありますか?スタートメニューまたはランチャーから発行する可能性のあるコマンドがそのシェルで実行されるだけでなく、他のアプリケーションがシェルを開きたい場合は、そのデフォルトのシェルで開きます。
明確にするために、これにアプローチするためのクリーンな方法があればいいのですが(つまり、実行可能ファイルを単に置き換えるのではなく、どこかにレジストリ設定または構成オプションがあります)。
.1。スタートメニューを表示し、
cmd
と入力して、 Enter;
代わりにpowershell
と入力してください。
.2。ショートカットを介してコマンドプロンプトを起動します。
ショートカットのターゲットを変更します。
.3。サードパーティのツール(Launchyなど)でコマンドプロンプトを表示する、または;
IIRC、Launchyはスタートメニューからのショートカットを使用するだけです。他のいくつかのツールは、_cmd.exe
_を実行するようにハードコードされています。
.4。プロンプトを起動し、コマンドを発行してから戻るWindowsの実行ツール(Win + R)でいくつかのコマンドを発行します
「実行」は、名前を入力して特に要求しない限り、シェル、cmd
、またはその他を開きません。指定されたプログラムを直接実行します(AFAIK、 ShellExcuteEx()
を使用)。
黒いウィンドウは Windowsコンソール です。それは内部で_cmd.exe
_が実行されていることを意味しません。 anyコンソールプログラムを持つことができます。 (Unixターミナルでもまったく同じです。シェルでなくても、任意のプログラムを実行できます。)
そうは言っても、一部のプログラムはまだ _%COMSPEC%
_環境変数 を尊重する可能性があります。