- Published on
WSLのBashからWindowsの実行ファイルを実行する
- Authors
- Name
- Shou Arisaka / 有坂翔
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
&
とすることで、バッググラウンドプロセスとして別のシェルスクリプトを実行します。
以上となります。