개발/C#

C# 에서 배치 파일 만들기

FA1976 2019. 5. 23. 06:42

Dynamically Create and Execute a Batch File Using Visual Studio

Posted on February 23, 2011 by Greg Owen  Leave a comment

Create a directory called “c:\bat”.
Create a directory called “c:\zip”.

Copy some .zip files to “c:\zip”

Create a new Visual Studio C# application.
Add a button to Form1.
Double click on button1 and copy and paste the code below into the Click event.

private void button1_Click(object sender, EventArgs e)
{
    try
    {
        //This will create a new .bat file in the bat directory.
        System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\bat\dirlist.bat");
        //The code below will write lines to the .bat file.
        //The dir command is used in a Command to list files in the specified directory.
        //The > command in this case sends the list to a text file.
        file.WriteLine(@"dir C:\Zip\*.zip > C:\bat\dir.txt");
        file.WriteLine("exit");
        file.Close();

        //The System.Dignostics.Process Process Class allows a Visual Studio Program
        //to execute another application
        System.Diagnostics.Process proc = new System.Diagnostics.Process();

        proc = new System.Diagnostics.Process();

        proc.EnableRaisingEvents = false;
        //This line executes the .bat file created above.
        proc.StartInfo.FileName = @"C:\bat\dirlist.bat";
        proc.Start();
    }
    catch (System.Exception err)
    {
        System.Windows.Forms.MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}