[Haskell-beginners] Re: Capture stdout from a command on Windows

Christian Maeder Christian.Maeder at dfki.de
Thu Sep 16 07:55:24 EDT 2010


Under Unix I use readProcess or readProcessWithExitCode from
System.Process to get the output without fiddling with handles.

HTH Christian

Am 15.09.2010 20:08, schrieb David Frey:
> Hi,
> 
> I'm trying to capture the output (stdout) of a command on Windows.
> 
> This is what I have so far:
> 
> import System.Process (runProcess, waitForProcess)
> import System.IO (hGetContents)
> 
> executeCapturingStdout :: String -> String -> IO [String]
> executeCapturingStdout cmd workingDir = do
>     let stdoutHandle = -- TODO: What do I put here?
>     processHandle <- runProcess cmd [] (Just workingDir) Nothing Nothing
> stdoutHandle Nothing
>     exitCode <- waitForProcess processHandle
>     content <- hGetContents stdoutHandle
>     return lines content
> 
> I have tried searching on google and I haven't been able to find an answer
> yet.
> 
> Thanks,
> Dave


More information about the Beginners mailing list