在Windows Subsystem for Linux中执行批处理文件

osc*_*fri 8 windows batch-file windows-subsystem-for-linux

是否可以.bat从Windows的Linux子系统(例如Ubuntu)执行文件?

.exe从WSL 运行文件是微不足道的,但我还没有找到一个简单的方法来运行.bat.我找到的唯一方法是打开cmd.exe,但每次我需要执行.bat文件时都会有点麻烦.

Com*_*mpo 12

不幸的是,目前你不能使用以下内容:

cmd.exe /c foo.bat
Run Code Online (Sandbox Code Playgroud)

...或使用binfmt的以下hack:

sudo sh -c "echo :WindowsBatch:E::bat::/init: > /proc/sys/fs/binfmt_misc/register"
Run Code Online (Sandbox Code Playgroud)

然后你可以输入:

foo.bat
Run Code Online (Sandbox Code Playgroud)

这种方法的问题在于你需要是root用户,每次打开bash窗口时都要运行它,也可能对.cmd文件执行相同操作,我想,任何以bash脚本命名结尾.bat都可能有问题!

我想在微软处理这个问题之前,你只能局限于上述情况.