C# 在C中使用cmd将文件从一个目录复制到另一个目录#

C# 在C中使用cmd将文件从一个目录复制到另一个目录#,c#,cmd,C#,Cmd,我需要将一个文件从一个目录复制到另一个目录,并对该文件进行处理。我需要用cmd,而不是File.copy(),来复制它,因为我需要将复制作为ProcessStartInfo的一部分,您可以使用此代码并更改startInfo.Arguments,但是/C应该是 System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = n

我需要将一个文件从一个目录复制到另一个目录,并对该文件进行处理。我需要用
cmd
,而不是
File.copy()
,来复制它,因为我需要将复制作为
ProcessStartInfo
的一部分,您可以使用此代码并更改
startInfo.Arguments
,但是
/C
应该是

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new 
System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C copy example.txt backup.txt";
process.StartInfo = startInfo;
process.Start();

您可以创建bat文件来复制一个或多个文件(使用*)。然后执行批处理文件

        string batFileName = @"C:\{filePath}\copy.bat";
        System.IO.File.WriteAllText(batFileName, @"copy {fileName}.{extension} {destination-filePath}");
        System.Diagnostics.Process.Start(batFileName);

我能够使用DOS复制语法和这个堆栈溢出QA来制定这个答案


谢谢,
/C
绝对有帮助!
var startInfo = new ProcessStartInfo {
    FileName = "cmd.exe",
    RedirectStandardInput = true,
    RedirectStandardOutput = true,
    UseShellExecute = false,
    CreateNoWindow = true
};

var process = new Process {StartInfo = startInfo};
process.Start();
process.StandardInput.WriteLine(@"copy c:\Source\Original.ext D:\Dest\Copy.ext");
process.StandardInput.WriteLine("exit");
process.WaitForExit();