在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解决方案来解决这个问题,所以:
为什么会这样?
更重要的是,我该怎么做才能避免这个问题?
答案 0 :(得分:1)
CMD在一个参数中需要“/ C dir”
cmd.exe“/ c dir”
如果您使用
cmd.exe "/c" "dir"
它将被解释为
/c" "dir
其中“dir无效命令