Issue using Process.Start() to execute command line statement

G

Guest

I am having issues copying files from network drive to local machine using
xcopy. The following code works alright for a console application, but as
soon as i call this code in Form Load event of windows application it does
not work. I am confused here, it copies files in a console application, but
not windows app

ProcessStartInfo info = new ProcessStartInfo("xcopy", "");
info.FileName = "xcopy";
info.Arguments = string.Format("\"{0}\" \"{1}\" /r/e/c/i/y/d",
@"\\melsrv01\Public\Templates\Austock Office\.",
@"C:\temp\Test Images");
info.UseShellExecute = false;
info.RedirectStandardOutput = true;

Process process = Process.Start(info);
string result = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine(result);
//MessageBox.Show(result);


Please help. Thanks
 
J

John Vottero

Job Lot said:
I am having issues copying files from network drive to local machine using
xcopy. The following code works alright for a console application, but as
soon as i call this code in Form Load event of windows application it does
not work. I am confused here, it copies files in a console application,
but
not windows app

What do you mean by "does not work"?
 
G

Guest

It copies the file from network drive to local machine in the console
application, but does not copy anything when the same code is used in Form
Load event of the windows application.
 
H

hpassant

It's a quirk of xcopy.exe; when you redirect output you have to
redirect input too. If you don't, it immediately (and silently) quits
right after startup.
 
M

Marc Gravell

As a complete aside - can I recommend robocopy as a replacement to
xcopy? You can download from Microsoft, or it is included in Vista; it
does more, does it better, and does it quicker.

Marc
 
G

Guest

Thanks (e-mail address removed) that did the trick. I didn't find any mention of
that in MSDN !!!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top