Solved

System.IO Console App, Copy Folder

Posted on 2008-06-10
4
502 Views
Last Modified: 2013-12-17
I want to create a small console app that copys all files from one folder to another, but deletes all files in the destination folder first.

Thanks
string[] files = Directory.GetFiles(@"C:\temp");
            string[] sfiles = Directory.GetFiles(@"C:\temp1");
 
            foreach (string file in files)
                File.Delete(file);
 
            foreach (string sfile in sfiles)
                File.Copy(sfile, "@c:\temp");

Open in new window

0
Comment
Question by:martgriff
4 Comments
 
LVL 21

Assisted Solution

by:mastoo
mastoo earned 100 total points
ID: 21751318
string[] files = Directory.GetFiles(@"C:\temp");

            string[] sfiles = Directory.GetFiles(@"C:\temp1");
 
            foreach (string file in files)
{
                File.Copy(sfile, "c:\\temp");
              File.Delete(file);
}
0
 
LVL 18

Accepted Solution

by:
jcoehoorn earned 200 total points
ID: 21751403

void CopyFolder(string srcPath, string destPath)
{
    string[] files = Directory.GetFiles(destPath);
    foreach (string file in files)
    {
        File.Delete(file);
    }
 
    if (!destPath.EndsWith(@"\")) destPath += @"\";
 
    files = Directory.GetFiles(srcPath);
    foreach (string file in files)
    {
       FileInfo theFile = new FileInfo(file);
       File.Copy(file, destPath + theFile.Name);
    }
}

Open in new window

0
 
LVL 12

Assisted Solution

by:jandromeda
jandromeda earned 200 total points
ID: 21752200
Here you go.
DirectoryInfo source = new DirectoryInfo(@"C:\My_Documents\My_Projects\DotNET\ExpertExchange\BkSource");
			DirectoryInfo dest = new DirectoryInfo(@"C:\My_Documents\My_Projects\DotNET\ExpertExchange\BkTarget");
			
			FileInfo[] files = dest.GetFiles();
			
			// Copy files in the destination folder
			foreach (FileInfo file in files)
			{
				file.Delete();
			}
			
			files = source.GetFiles();
			
			// Copy all the files in source folder to destination folder
			foreach (FileInfo file in files)
			{
				file.CopyTo(Path.Combine(dest.FullName, file.Name), true);
			}

Open in new window

0
 

Author Closing Comment

by:martgriff
ID: 31465718
Thanks for you help, I dod manage to sort this.
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
C# bracket error 3 30
Help with preventing downloading a zip file 10 36
Winform Module - What is the ASP.Net equiv 2 19
DataTables + iCheck + pagination Issue 2 17
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question