如何将文件从文件夹a移动到b

时间:2015-10-07 06:30:51

标签: c# copy directory

我想将文件从一个目录复制到另一个目录,但它不起作用。发生错误

  

如果他是或类似的话,不能制作目录

这是我的代码

string uplaydir = "";
using (StreamReader sr = new StreamReader("src\\SYSTEM\\launcherfiles\\uplay_dir.txt"))
{
    uplaydir = sr.ReadLine();
}
label2.Text = "Installing";
ExtractZipFile(@"src\\SYSTEM\\launcherfiles\\updatefiles\\vmr.zip", @"src\\SYSTEM\\launcherfiles\\updatetemp");
label2.Text = "Done!";
File.Copy(@"src\\SYSTEM\\launcherfiles\\updatetemp\\ubi", @uplaydir);

uplay_dir.txt位于c:\test\

uplay_cm.dll位于src\\SYSTEM\\launcherfiles\\updatetemp\\ubi

我该如何修复?

1 个答案:

答案 0 :(得分:3)

MSDN链接会向您展示如何执行此操作。

按照此代码复制目录之间的文件:

 string fileName = "test.txt";
    string sourcePath = @"C:\Users\Public\TestFolder";
    string targetPath =  @"C:\Users\Public\TestFolder\SubDir";

    // Use Path class to manipulate file and directory paths.
    string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
    string destFile = System.IO.Path.Combine(targetPath, fileName);

    // To copy a folder's contents to a new location:
    // Create a new target folder, if necessary.
    if (!System.IO.Directory.Exists(targetPath))
    {
        System.IO.Directory.CreateDirectory(targetPath);
    }

    // To copy a file to another location and 
    // overwrite the destination file if it already exists.
    System.IO.File.Copy(sourceFile, destFile, true);

    // To copy all the files in one directory to another directory.
    // Get the files in the source folder. (To recursively iterate through
    // all subfolders under the current directory, see
    // "How to: Iterate Through a Directory Tree.")
    // Note: Check for target path was performed previously
    //       in this code example.
    if (System.IO.Directory.Exists(sourcePath))
    {
        string[] files = System.IO.Directory.GetFiles(sourcePath);

        // Copy the files and overwrite destination files if they already exist.
        foreach (string s in files)
        {
            // Use static Path methods to extract only the file name from the path.
            fileName = System.IO.Path.GetFileName(s);
            destFile = System.IO.Path.Combine(targetPath, fileName);
            System.IO.File.Copy(s, destFile, true);
        }
    }
    else
    {
        Console.WriteLine("Source path does not exist!");
    }