WSLのbashからWindowsの実行ファイルを実行する

    >


通常、WSLではwindowsアプリケーションを起動することが可能です。可能になりました。

$ explorer.exe .
$ calc.exe

しかし、
autohotkeyなど、一部のソフトウェアでは、エラーが出てしまったりすることもあるようです。

script file not found.

解決法を考えた結果、以下のコマンドで可能であることが分かりました。

cmd.exe /C "C:\Program Files\AutoHotkey\AutoHotkeyU64.exe" C:/pg/autohotkey/your_script.ahk

次のようなエラーが出てしまう場合、おそらく、C:と書かなければいけない部分を、/mnt/のように書いてしまっているのではないでしょうか。

The system cannot find the path specified.

また、このコードだと、実行したファイルが終了しても、コマンドラインが進みません。
シェルスクリプトなどで利用する場合、ファイルを分けてやる必要があるということです。

shellScript.sh

. cmd.sh &

cmd.sh

cmd.exe /C "C:\Program Files\AutoHotkey\AutoHotkeyU64.exe" C:/pg/autohotkey/per5_printScreen.ahk

&: こうしてやることで、バッググラウンドプロセスとして別のシェルスクリプトを実行します。

ahk はじめてのPowershell。関数やエイリアスを読み込むまで [初心者向け]

Set-Alias ahk "C:\Program Files\AutoHotkey\AutoHotkeyU64.exe"

WSL WSL bash on ubuntu on windows インストール手順
WSL(Windows Subsystem for Linux)を初期から使っている僕がLinuxやプログラミングの初心者向けにWSLのメリットを解説してみる


お困りですか?この記事で紹介していることをマンツーマンで指導、解説、代行します。まずはお気軽にお問い合わせください。


Close Menu