删除文件,从另一个文件夹中复制相同的命名文件C#

时间:2015-04-05 14:30:06

标签: c# replace copy

我在Windows窗体应用程序中有几个问题。到目前为止,我已经设法循环一个文件夹并在文本框中显示重新连接。返回后,用户可以检查结果,并使用以下内容删除错误文件;

private void button2_Click(object sender, EventArgs e)
{
    foreach (string file in Directory.GetFiles(@"\\" + textBox1.Text + @"\\d$\\NSB\\Coalition\\EDU", "*.err").Where(item => item.EndsWith(".err")))
    {
        File.Delete(file);
    }
}

在删除错误文件后,我现在想要做的是从备份文件夹中复制相同的文件(文件名中唯一的区别是文件扩展名)我正在使用单独的按钮执行此操作。对此最后一步的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用Path类获取没有扩展名的文件名,组合路径等等,例如:

StringCollection filesToBeReplaced = new StringCollection();

private void button2_Click(object sender, EventArgs e)
{
foreach (string file in Directory.GetFiles(@"\\" + textBox1.Text +      @"\\d$\\NSB\\Coalition\\EDU", "*.err").Where(item => item.EndsWith(".err")))
{
  //Now you have file names without extension        
  filesToBeReplaced.Add(Path.GetFileNameWithoutExtension (file));
      File.Delete(file);
  }
}
private void CopyGoodFilesFromSource()
{
  foreach(string fileName in filesToBeReplaced)
  {
     string sourceFilePath = Path.Combine("YOUR FOLDER FOR GOOD FILES", 
Path.ChangeExtension(fileName,"Your Extension")) ;
      string destinationPath = Path.Combine("Destination Folder",
Path.ChangeExtension(fileName, "Your Extension in destination folder");

     File.Copy(sourceFilePath , destinationPath, true);
  }
}