public void Copyfilestodirkeepsrcdirname (string srcpath, String destDir) {if (Directory.Exists (Srcpath ) {DirectoryInfo srcdirectory = new DirectoryInfo (Srcpath); CopyDirectory (Srcpath, DestDir + @ "\" + srcdirectory.name); } else {CopyFile (Srcpath, DestDir); }} public void Copyfilestodir (string srcpath, String destDir) {if (Directory.Exists (SRCPA th)) {copydirectory (Srcpath, DestDir); } else {CopyFile (Srcpath, DestDir); }} private void CopyDirectory (string srcdir, String destDir) {DirectoryInfo srcdirectory = new DirectoryInfo (srcdir); DirectoryInfo destdirectory = new DirectoryInfo (DestDir); if (DestDirectory.FullName.StartsWith (Srcdirectory.fullname, Stringcomparison.currentcultureignorecase){throw new Exception ("Cannot copy parent to child directory."); } if (!srcdirectory.exists) {return; } if (!destdirectory.exists) {destdirectory.create (); } fileinfo[] files = srcdirectory.getfiles (); for (int i = 0; i < files. Length; i++) {CopyFile (files[i]. FullName, Destdirectory.fullname); } directoryinfo[] dirs = Srcdirectory.getdirectories (); for (int j = 0; J < dirs. Length; J + +) {copydirectory (dirs[j]. FullName, destdirectory.fullname + @ "\" + dirs[j]. Name); }} private void CopyFile (String srcfile, String destDir) {DirectoryInfo destdirectory = New DirectoryInfo (DestDir); String fileName = Path.getfilename (srcfile); if (! File.exists (Srcfile)) { Return } if (!destdirectory.exists) {destdirectory.create (); } file.copy (Srcfile, destdirectory.fullname + @ "\" + FileName, True); }
C # Implementing a file or directory to a specified directory