سؤال

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/

هل كانت مفيدة؟

المحلول

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.

نصائح أخرى

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?

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top