none
Ajuda com mover de substituir arquivos de mesmo nome RRS feed

  • Pergunta

  • Estou utilizando o código abaixo para mover e substituir um arquivo, só que ele não substitui o arquivo se estiver com o mesmo nome que o arquivo movido.

    Gostaria de quando eu mover um arquivo de mesmo nome substitui-se.

     private void btnek_ot_Click(object sender, EventArgs e)
            {
                string fileName = "Tibia.cfg";
                string user = Environment.UserName;
    
                string sourcePath = @"c:\Hotkeys\Ot\Knight\Tibia.cfg";
                string targetPath = @"C:\Users\" + user + @"\AppData\Roaming\Tibia\";
    
    
                string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
                string destFile = System.IO.Path.Combine(targetPath, fileName);
    
                if (!System.IO.Directory.Exists(targetPath))
                {
                    System.IO.Directory.CreateDirectory(targetPath);
                }
    
                System.IO.File.Copy(sourceFile, destFile, true);
    
                if (System.IO.Directory.Exists(sourcePath))
                {
                    string[] files = System.IO.Directory.GetFiles(sourcePath);
    
                    foreach (string s in files)
                    {
    
                        fileName = System.IO.Path.GetFileName(s);
                        destFile = System.IO.Path.Combine(targetPath, fileName);
                        System.IO.File.Copy(s, destFile, true);
                    }
                }
                else
                {
                    Console.WriteLine("Caminho de origem não existe!");
                }
    
                Console.WriteLine("Aperte qualquer tecla para sair.");
                Console.ReadKey();
            }

    segunda-feira, 18 de fevereiro de 2013 18:21

Todas as Respostas

  • sugestão;

    antes do System.IO.file.Copy use:

    if( System.IO.File.Exists( arquivoDestino ) ) { System.IO.File.Delete( arquivoDestino ); }

    System.IO.File.Copy ....


    talvez, alguma permissão de usuário não esteja deixando você substituir o arquivo...

    tente excluir antes de substituir

    segunda-feira, 18 de fevereiro de 2013 18:53