如何使用c#执行批处理文件?

时间:2016-07-26 05:23:28

标签: c# batch-file

我创建了一个窗口应用程序,并根据用户选择我创建一个批处理文件,用于在一个目录中复制文件到另一个目录文件,但是它不执行我不知道为什么?请帮忙。

在代码i中用户进程类执行批处理文件但在proc.start()中通过异常;
                我的代码是:

            Process proc = null;
            string tempPath = @"C:\Users\jsolanki\Desktop\temp.bat";
            StreamWriter sw = new StreamWriter(tempPath);
            StringBuilder content = new StringBuilder();
            foreach (string item in tempList)
            {
                content.Append(string.Format("Copy \"{0}\"  \"{1}\\\" \r\n", item, destPath));

            }

            sw.WriteLine(content);
            sw.Close();

            string batDir = tempPath;
            proc = new Process();
            proc.StartInfo.WorkingDirectory = batDir;
            proc.StartInfo.FileName = "temp.bat";
            proc.StartInfo.CreateNoWindow = false;
            proc.Start();
            proc.WaitForExit();
            MessageBox.Show("Copy is Complete");

1 个答案:

答案 0 :(得分:0)

string tempPath = @"C:\Users\jsolanki\Desktop\temp.bat";
string batDir = tempPath;
proc.StartInfo.WorkingDirectory = batDir;

仔细检查您是否已将工作目录设置为文件而非目录。

同时打印异常消息。