web-dev-qa-db-fra.com

Exécuter le fichier batch dans le sous-système Windows pour Linux

Est-il possible d'exécuter un .bat fichier d'un sous-système Windows pour Linux (par exemple, Ubuntu)?

Il est trivial d'exécuter un .exe fichier à partir d'un WSL, mais je n'ai pas trouvé de moyen trivial d'exécuter un .bat. La seule façon que j'ai trouvée est d'ouvrir cmd.exe, mais c'est un peu lourd à faire à chaque fois que j'ai besoin d'exécuter un .bat fichier.

12
oscfri

Malheureusement pour le moment, vous ne pouvez pas le faire sans utiliser:

cmd.exe /c foo.bat

… Ou le hack suivant en utilisant binfmt:

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

Vous pouvez alors simplement taper:

foo.bat

Les problèmes avec cette méthode sont que vous devez être root, l'exécuter à chaque fois que vous ouvrez une fenêtre bash, probablement faire la même chose pour .cmd fichiers aussi et, je suppose, tout nom de script bash se terminant par .bat pourrait avoir des problèmes!

Je suppose que jusqu'à ce que Microsoft règle ce problème, vous êtes limité à ce qui précède.

16
Compo