从c#运行时,Xcopy不复制文件

ede*_*k k 3 c# batch-file

我从c#代码启动.bat文件:

     void ExecuteCommand(string command)
     {
        var processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
        processInfo.CreateNoWindow = true;
        processInfo.UseShellExecute = false;
        processInfo.RedirectStandardError = true;
        processInfo.RedirectStandardOutput = true;

        var process = Process.Start(processInfo);

        process.OutputDataReceived += (object sender, DataReceivedEventArgs e) =>
            Console.WriteLine("output>>" + e.Data);
        process.BeginOutputReadLine();

        process.ErrorDataReceived += (object sender, DataReceivedEventArgs e) =>
            Console.WriteLine("error>>" + e.Data);
        process.BeginErrorReadLine();

        process.WaitForExit();

        Console.WriteLine("ExitCode: {0}", process.ExitCode);
        process.Close();
    }
Run Code Online (Sandbox Code Playgroud)

它开始,一切都被执行,但是:

set mydir = "C:\mydir"
xcopy /c /y "myFile.exe" %mydir%
Run Code Online (Sandbox Code Playgroud)

该文件未被复制

但是当我从资源管理器运行相同的批处理文件时,文件会被复制.有什么想法吗?

ede*_*k k 5

添加processInfo.RedirectStandardInput = true; 为我工作 - 现在文件被复制没有问题