如何用Elixir启动Windows程序?

如何用Elixir启动Windows程序?,windows,cmd,elixir,Windows,Cmd,Elixir,我需要用Elixir编程语言启动一个Windows程序。 我试了一下: System.cmd(..) 及 但是没有运气。。我有 (ErlangError) Erlang error: :enoent 谢谢你的帮助 现在它工作了 问题是,我试图用“start”-命令调用System.cmd 当我直接调用程序时,它可以工作: System.cmd("C:\\Program Files\\Docker\\Docker\\Docker for Windows.exe", []) 这里的问题是,El

我需要用Elixir编程语言启动一个Windows程序。 我试了一下:

System.cmd(..)

但是没有运气。。我有

(ErlangError) Erlang error: :enoent
谢谢你的帮助

现在它工作了

问题是,我试图用“start”-命令调用System.cmd

当我直接调用程序时,它可以工作:

System.cmd("C:\\Program Files\\Docker\\Docker\\Docker for Windows.exe", [])
这里的问题是,Elixir/Erlang在相同的过程中启动程序,并等待程序结束后再继续编写代码

我通过使用一个任务解决了这个问题:

Task.async(fn -> System.cmd("C:\\Program Files\\Docker\\Docker\\Docker for Windows.exe", []) end)

我想这不是实现这一目标的最佳方式。让我知道一个更好的解决方案

这两种方法都能很好地工作,你有一个诱发错误。手动打开
cmd.exe
,然后尝试完全按照
:os.cmd/1
中的命令执行命令。
Task.async(fn -> System.cmd("C:\\Program Files\\Docker\\Docker\\Docker for Windows.exe", []) end)