機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

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

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

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

Bashで!(エクスクラメーション)をエスケープするには
BashでISO8601のタイムスタンプをdateで出力
Bash コマンドが存在するかパターンマッチで判断するには
WindowsにCicaフォントをインストールしてconemuのWSL bashで使えるようにする
WSL bashでpowershellに絶対パスのファイルを渡して開く方法
bash yes no yes以外なら終了する
PowershellでBashのhistoryコマンド


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu