Windowsの小ネタです。
エクスプローラーのアドレスバーってパスを指定するくらいしか出来ないのかと思っていたのですが,プログラムを実行したりできるみたいです。
1. プログラムの実行
例えばpython
と実行すると,
pathが繋がっているAnaconda上のPythonが立ち上がります。
同様に,例えばメモ帳(notepad.exe)を開きたいときはnotepad
で開きますし,RStduio(rstudio.exe)もrstudio
で立ち上がります。
ちょうど「ファイル名を指定して実行」(Win + R
で起動するアレ)と同じような働きをしてくれます。
2. 任意のディレクトリでコマンドプロンプトを起動
あるディレクトリをエクスプローラーで開いている状態で,アドレスバーからコマンドプロンプトを起動(cmd
)すると,開いているディレクトリをカレントディレクトリにした状態のコマンドプロンプトが開きます。
例えばマイピクチャで実行すると,
このように。
WSLのUbuntuではできない
残念ながら,Windows Subsystem for LinuxのUbuntuは同様の動きをしませんでした
Bash on Ubuntu on Windows(Windows Subsystem for Linuxに改名する前,試験的に実装されていた時代のもの)のbash.exeはcmdのように動いてくれるんですが…
なぜWSLにしたときにこの部分を改悪したんだ…(追記参照)
追記:WSLはwsl.exeかbash.exeで実行すればいい
Bash on Ubuntu on WindowsからWSLに移行した後に購入したPCでもbash.exe
で実行できました。WSLのインストール時にbash.exe
もインストールされるのかな?
bash.exe
だけでなくwsl.exe
というものもあり,こちらでも同様の機能を果たしてくれます(bashとwslの違いがよくわかりません…)
ubuntu.exe
を実行したとき開かれるのもwsl.exe
のようなので,ubuntuは外側で中身はwslなのかも・・?
いずれにしても,任意のディレクトリでターミナルを開きたいときにはwsl.exe
かbash.exe
を使えば良さそうです。