using System;
using System.IO;
using System.Runtime.InteropServices;
class Tester
{
[DllImport("kernel32.dll", EntryPoint = "MoveFile",ExactSpelling = false, CharSet = CharSet.Unicode,SetLastError = true)]
static extern bool MoveFile(string sourceFile, string destinationFile);
public static void Main()
{
ExploreDirectory(new DirectoryInfo("c:\\"));
}
private static void ExploreDirectory(DirectoryInfo dir)
{
string newDirectory = "newTest";
DirectoryInfo newSubDir =dir.CreateSubdirectory(newDirectory);
FileInfo[] filesInDir = dir.GetFiles();
foreach (FileInfo file in filesInDir)
{
string fullName = newSubDir.FullName + "\\" + file.Name;
file.CopyTo(fullName);
Console.WriteLine(file.FullName);
}
filesInDir = newSubDir.GetFiles();
int counter = 0;
foreach (FileInfo file in filesInDir)
{
string fullName = file.FullName;
if (counter++ % 2 == 0)
{
Tester.MoveFile(fullName, fullName + ".bak");
Console.WriteLine("{0} renamed to {1}",fullName, file.FullName);
}else{
file.Delete();
Console.WriteLine("{0} deleted.",fullName);
}
}
newSubDir.Delete(true);
}
}