Question

I have used the following code to copy the folder from one path to another path. If the copying file is already exists it does not replace the existing file. Is there any command available with this like xcopy/replace?

private static void ProcessXcopy(string SolutionDirectory, string TargetDirectory)

        {

            // Use ProcessStartInfo class

            ProcessStartInfo startInfo = new ProcessStartInfo();

            startInfo.CreateNoWindow = false;

            startInfo.UseShellExecute = false;

            //Give the name as Xcopy

            startInfo.FileName = "xcopy";

            //make the window Hidden

            startInfo.WindowStyle = ProcessWindowStyle.Hidden;

            //Send the Source and destination as Arguments to the process

            startInfo.Arguments = "\"" + SolutionDirectory + "\"" + " " + "\"" + TargetDirectory + "\"" + @" /e /y /I";

            try

            {

                // Start the process with the info we specified.

                // Call WaitForExit and then the using statement will close.

                using (Process exeProcess = Process.Start(startInfo))

                {

                    exeProcess.WaitForExit();

                }

            }

            catch (Exception exp)

            {

                throw exp;

            }



        }

Referrence: http://www.c-sharpcorner.com/UploadFile/jawedmd/xcopy-using-C-Sharp-to-copy-filesfolders/

Était-ce utile?

La solution

xcopy should overwrite files by default (and the /Y flag suppresses prompts for confirmation). Could it be that the destination file is read-only? In that case, you also need to specify the /R flag.

Autres conseils

The note at http://support.microsoft.com/kb/240268 describes /R as an additional parameter to overwrite read-only files. Have you tried adding that?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top