Home All Groups Group Topic Archive Search About

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

Author
25 Oct 2007 5:21 AM
Job Lot
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

Author
26 Oct 2007 10:15 AM
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.
Author
28 Oct 2007 10:53 PM
Job Lot
Thanks hpass***@gmail.com that did the trick. I didn't find any mention of
that in MSDN !!!

Show quote
"hpass***@gmail.com" wrote:

> 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.
>
>

AddThis Social Bookmark Button