我从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)
该文件未被复制
但是当我从资源管理器运行相同的批处理文件时,文件会被复制.有什么想法吗?