web-dev-qa-db-ja.com

LinuxのWindowsサブシステムでバッチファイルを実行する

Linux用のWindowsサブシステム(Ubuntuなど)から.batファイルを実行することはできますか?

WSLから.exeファイルを実行するのは簡単ですが、.batを実行する簡単な方法は見つかりませんでした。私が見つけた唯一の方法はcmd.exeを開くことですが、.batファイルを実行する必要があるたびに行うのは少し面倒です。

12
oscfri

残念ながら現時点では、次のいずれかを使用しないとそうすることはできません。

cmd.exe /c foo.bat

…または、binfmtを使用した次のハック:

Sudo sh -c "echo :WindowsBatch:E::bat::/init: > /proc/sys/fs/binfmt_misc/register"

次に、次のように入力します。

foo.bat

この方法の問題は、rootになる必要があることです。bashウィンドウを開くたびに実行し、おそらく.cmdファイルに対しても同じように実行してください。おそらく、bashスクリプト名は.batで終わると問題が発生する可能性があります!

マイクロソフトがこの問題に対処するまで、あなたは上記に限定されていると思います。

16
Compo