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

エラー メッセージに示されているように、問題は、2 番目の引数の前に引用符 ( ") が付加されていることです。同じことが["/c", ""]引数にも当てはまります。それは言い'"' not recognizedます。

これはHaskellよりもcmdのせいだと思いますが、これに対処するにはHaskellソリューションが必要なので、次のようにします。

なぜこれが起こるのですか?

さらに重要なことに、この問題を回避するにはどうすればよいですか?

4

1 に答える 1

1

CMDには、1つのパラメーターに「/Cディレクトリ」が必要です

cmd.exe "/ c dir"

使用する場合

cmd.exe "/c" "dir"

それは次のように解釈されます

/c" "dir

ここで、「dirは有効なコマンドではありません

于 2013-03-07T14:44:03.857 に答える