Reputation: 103
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
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