我似乎无法成功覆盖和其他一些事情

时间:2013-07-30 01:02:49

标签: c# replace copy rename overwrite

所以,基本上我已经创建了这个程序,并且它将所选文件复制到Roaming AppData文件夹中公司的命名文件夹,这并不是那么糟糕。我的意思是,现在的设置并不是那么糟糕,但我想对它有更多的控制权。

string fullFileName = item.FileName;
string fileNameWithExt = Path.GetFileName(fullFileName);
string destPath = Path.Combine(Application.UserAppDataPath, fileNameWithExt);
File.Copy(item.FileName, destPath);

在程序开始时,它会检查自定义AppData文件夹是否存在。

public void checkADfolder()
{

    string folder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

    string specificFolder = Path.Combine(folder, ".program");

    if (!Directory.Exists(specificFolder))
       Directory.CreateDirectory(specificFolder);
}

我希望文件转到AppData文件夹.program而不是具有应用程序公司名称的文件夹。

另外,我遇​​到了这个问题。当用户选择一个文件,然后关闭该程序并再次打开该程序并碰巧选择相同的文件时,它会出错,因为该文件已存在。当选择相同的文件时,我需要覆盖所有其他文件。

拧紧它,我也会问这就是为什么我在这里。 我需要用户选择的文件来替换AppData文件夹中的另一个文件,并重命名用户选择的文件。

基本上。用户选择文件。文件名是“user.txt”。现在它在漫游> .program> user.txt 我需要该文件来替换文件让我们说它叫做“guest.txt”。它在漫游> .user> guest.txt 我需要将“user.txt”复制并重命名为“guest.txt”,然后替换.user文件夹中的“guest.txt”。 我希望这能很好地解释一切。

我想我会将所有内容放在一个帖子中而不是制作多个帖子。 我搜索过但似乎无法找到任何答案:/

1 个答案:

答案 0 :(得分:0)

要覆盖文件,您只需使用此处的方法:

File.Copy Method (String, String, Boolean);

要覆盖您的其他文件,只需再次调用该函数:

File.Copy(@".\Roaming\program\user.txt", @".\Roaming\user\guest.txt", true);