3

在 Haskell 中,运行rawSystem "cmd.exe" ["/c", "dir"]会产生 cmd 无法识别的命令消息,如下所示:

Prelude System.Cmd> rawSystem "cmd.exe" ["/c", "dir"]
'"dir' is not recognized as an internal or external command,
operable program or batch file.
ExitFailure 1

如错误消息所示,问题在于我的第二个参数前面带有引号 ( ")。["/c", ""]论据也是如此;它说'"' not recognized

我猜这更多是 cmd 的错,而不是 Haskell 的错,但是我需要一个 Haskell 解决方案来处理这个问题,所以:

为什么会这样?

更重要的是,我能做些什么来避免这个问题?

4

1 回答 1

1

CMD 在一个参数中需要“/C dir”

cmd.exe "/c 目录"

如果你使用

cmd.exe "/c" "dir"

它会被解释为

/c" "dir

其中“dir 不是有效的命令

于 2013-03-07T14:44:03.857 回答