1 Private Static voidCopydir (DirectoryInfo origin,stringtarget)2 {3 if(!target. EndsWith ("\\"))4 {5Target + ="\\";6 }7 if(!Exist (target))8 {9 Create (target);Ten //Create (target, origin. GetAccessControl ()); One } Afileinfo[] FileList =origin. GetFiles (); -directoryinfo[] Dirlist =origin. GetDirectories (); - foreach(FileInfo fiinchfileList) the { -File.Copy (FI. FullName, Target + fi. Name,true); - } - foreach(DirectoryInfo diinchdirlist) + { -Copydir (DI, Target +di. Name); + } ADirectoryInfo tmp =NewDirectoryInfo (target); atTmp. Attributes =origin. Attributes; - tmp. Setaccesscontrol (Origin. GetAccessControl ()); - } - - Private Static voidCopydir (stringOriginstringtarget) - { in if(!origin. EndsWith ("\\")) - { toOrigin + ="\\"; + } - if(!target. EndsWith ("\\")) the { *Target + ="\\"; $ }Panax Notoginseng -DirectoryInfo info =NewDirectoryInfo (origin); the if(!Exist (target)) + { ACreate (Target,info. GetAccessControl ());//Create directory, access permissions the } + -fileinfo[] FileList =info. GetFiles (); $directoryinfo[] Dirlist =info. GetDirectories (); $ foreach(FileInfo fiinchfileList) - { -File.Copy (FI. FullName, Target + fi. Name,true); the } - foreach(DirectoryInfo diinchdirlist)Wuyi { the //Copydir (Origin + "\" + di.) Name, target + "\ \" + di. Name); -Copydir (di. FullName, Target +"\\"+di. Name); Wu } - //set directory properties and access rights AboutDirectoryInfo tmp =NewDirectoryInfo (target); $Tmp. Attributes =info. Attributes; - tmp. Setaccesscontrol (info. GetAccessControl ()); -}
C # Directory (folder) replication implementation