How to send output of console application to file

Let’s assume you working on a project and you want to execute an application and then you want to capture the output of the program. In this article, I will show you how to do this with using System.Diagnostics.Process class. The code is well commented on and self-explanatory.

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;

namespace SNIPPET_CS
    class Program
        static void Main(string[] args)
            Console.WriteLine("Console output saved successfully");
        private static void ConsoleOutput()
            const string applicationPath = @"D:\Windows\System32\ipconfig.exe";
            //string ApplicationArguments = "-c -x";

            // Create a new process object
            Process processObj = new Process();

            // StartInfo contains the startup information of
            // the new process
            processObj.StartInfo.FileName = applicationPath;
            //ProcessObj.StartInfo.Arguments = ApplicationArguments;

            // These two optional flags ensure that no DOS window
            // appears
            processObj.StartInfo.UseShellExecute = false;
            processObj.StartInfo.CreateNoWindow = true;

            // If this option is set the DOS window appears again :-/
            // ProcessObj.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

            // This ensures that you get the output from the DOS application
            processObj.StartInfo.RedirectStandardOutput = true;

            // Start the process

            // Wait that the process exits

            // Now read the output of the DOS application
            string result = processObj.StandardOutput.ReadToEnd();
        private static void WriteToFile(string result)
            using (FileStream stream = new FileStream(@"C:\temp\a.txt", FileMode.OpenOrCreate, FileAccess.Write))

                byte[] buffer = Encoding.Default.GetBytes(result);
                stream.Write(buffer, 0, buffer.Length);
Next Post Previous Post
No Comment
Add Comment
comment url