windows - 在 Linux 的 Windows 子系统中执行批处理文件

标签 windows batch-file windows-subsystem-for-linux

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

从 WSL 运行 .exe 文件很简单,但我还没有找到运行 .bat 的简单方法。我找到的唯一方法是打开 cmd.exe,但每次我需要执行 .bat 文件时这样做有点麻烦。

最佳答案

不幸的是,目前你不能不使用:

cmd.exe /c foo.bat

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

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

然后你可以输入:

foo.bat

此方法的问题是您需要成为根用户,每次打开 bash 窗口时运行它,可能也对 .cmd 文件执行相同的操作,而且,我假设,任何以 .bat 结尾的 bash 脚本名称都可能有问题!

我想在 Microsoft 处理此问题之前,您仅限于上述内容。

关于windows - 在 Linux 的 Windows 子系统中执行批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48582952/

相关文章:

c# - 无法从 Unity 命令行生成 Android APK

date - Bat 文件在复制到另一台电脑时在我的电脑上工作。语法错误

windows - 批处理文件在引用的参数中发送当前文件夹

ConEmu with Bash - 在标签栏中显示文件夹

r - 从 R 中调用 bash

android - Mvvmcross 加载指示器未显示

c++ - 如果 Windows 正在关闭或重新启动,有没有办法以编程方式接收?

python - 将命令从 Windows Python 脚本传递到 WSL Shell

c - 在 fseek 之后未格式化的硬盘上,fread 从 512 字节扇区的开头读取,而不是查找位置

windows - Windows docker 容器的图形输出