Kaczper
Kaczper

Reputation: 103

How to move files from folder a to b

I want to copy files from one directory to another but it doesn't work. Error that Occurs

Can't make dir if he is or something like that

This is my code

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 is in c:\test\

uplay_cm.dll is in src\\SYSTEM\\launcherfiles\\updatetemp\\ubi

How can I repair this?

Upvotes: 3

Views: 14048

Answers (1)

Kayani
Kayani

Reputation: 972

This MSDN links show you how to do this.

Follow this code to copy files in between directories:

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!");
}

Upvotes: 5

Related Questions