Mega Code Archive

 
Categories / C# Tutorial / Windows
 

Call DLL API to move file

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