Thursday, March 3, 2011

C# COPY AND RENAME

Copy file from one folder to another folder, add different prefix to all file.

Code:

using System;
using System.IO;


namespace IOProject
{
class Class1
{
static void Main(string[] args)
{
try
{
Console.WriteLine("Please enter the name of the folder you want to create or use");
// store the folder name in the dirName variable
//string dirName = Console.ReadLine();
string dirName = @"C:\stephen wu\tools\audioBible";
// create the DirectoryInfo instance
//DirectoryInfo dInfo = new DirectoryInfo(@"F:" + dirName);
DirectoryInfo dInfo = new DirectoryInfo(dirName);
string targetDirectory = @"C:\stephen wu\tools\audio2";
DirectoryInfo[] subDirs = dInfo.GetDirectories();
if (subDirs.Length > 0)
{
Console.WriteLine("Directories:");
foreach (DirectoryInfo subDir in subDirs)
{
Console.WriteLine(" " + subDir.Name);

int atmp = subDir.Name.IndexOf("a");
string l4string = subDir.Name.Substring(0, atmp+1);
//l4string = l4string + "_";

Console.WriteLine(" " + l4string);

string sourceDirectory = @"C:\stephen wu\tools\audioBible\" + subDir.Name;
Rename(sourceDirectory,targetDirectory, l4string);
Console.WriteLine(" " + sourceDirectory);
}
}

}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
Console.ReadLine();
}
}

public static void Rename(string sourceDirectory, string targetDirectory, string Prefixtmp)
{
DirectoryInfo di = new DirectoryInfo(sourceDirectory);
if (di != null)
{

FileInfo[] subFiles = di.GetFiles();
if (subFiles.Length > 0)
{
Console.WriteLine("Files:");
foreach (FileInfo subFile in subFiles)
{
Console.WriteLine(" " + subFile.Name + " (" + subFile.Length + " bytes)");

string newname = targetDirectory + "\\" + Prefixtmp + subFile.Name.ToString();
string oldname =sourceDirectory+"\\"+subFile.Name.ToString();
File.Copy(oldname, newname);
}
}
//Console.ReadKey();
}
}
}
}

No comments:

Post a Comment