● WSL(Windows Subsystem for Linux)から コマンドプロンプト(cmd.exe)の内部コマンド start を実行する簡易的なヘルパー。引数を wslpath コマンドで変換して cmd.exe に渡す。
require: WSL & Ubuntu or etc…
#!/bin/sh #filename: wslstart.sh #修正:2018/09/17 #修正:2019/02/23 (スペースが入っているパスを指定するときの不具合修正) cmd=$(which cmd.exe) wpath=$(wslpath -w -a "$1" 2> /dev/null) if [ $? -eq 0 ] ; then $cmd /c start "$wpath" "$wpath" else echo \'$1\' can not convert to windows path fi
※注意 startコマンドのオプション非対応。
※ 当然だけど、rootfs 内のディレクトリは wslpath コマンドでエラーになり、パス変換できない。
※ May 2019 update (Windows10 1903) から rootfs 内であってもWindows側からアクセスできるようになってます。
使用例)
■カレントディレクトリのフォルダーウィンドウを開く
> wslstart.sh .
■ファイル等を開く
> wslstart.sh hogehoge.docx > wslstart.sh hogehoge.txt