DirectoryInfo.MoveTo Method (String)
Moves a DirectoryInfo instance and its contents to a new path.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- destDirName
-
Type:
System.String
The name and path to which to move this directory. The destination cannot be another disk volume or a directory with the identical name. It can be an existing directory to which you want to add this directory as a subdirectory.
| Exception | Condition |
|---|---|
| ArgumentNullException | destDirName is null. |
| ArgumentException | destDirName is an empty string (''"). |
| IOException | An attempt was made to move a directory to a different volume. -or- destDirName already exists. -or- You are not authorized to access this path. -or- The directory being moved and the destination directory have the same name. |
| SecurityException | The caller does not have the required permission. |
| DirectoryNotFoundException | The destination directory cannot be found. |
This method throws an IOException if, for example, you try to move c:\mydir to c:\public, and c:\public already exists. You must specify "c:\\public\\mydir" as the destDirName parameter, or specify a new directory name such as "c:\\newdir".
This method permits moving a directory to a read-only directory. The read/write attribute of neither directory is affected.
For a list of common I/O tasks, see Common I-O Tasks.
The following example demonstrates moving a directory.
using System; using System.IO; public class MoveToTest { public static void Main() { // Make a reference to a directory. DirectoryInfo di = new DirectoryInfo("TempDir"); // Create the directory only if it does not already exist. if (di.Exists == false) di.Create(); // Create a subdirectory in the directory just created. DirectoryInfo dis = di.CreateSubdirectory("SubDir"); // Move the main directory. Note that the contents move with the directory. if (Directory.Exists("NewTempDir") == false) di.MoveTo("NewTempDir"); try { // Attempt to delete the subdirectory. Note that because it has been // moved, an exception is thrown. dis.Delete(true); } catch (Exception) { // Handle this exception in some way, such as with the following code: // Console.WriteLine("That directory does not exist."); } // Point the DirectoryInfo reference to the new directory. //di = new DirectoryInfo("NewTempDir"); // Delete the directory. //di.Delete(true); } }
for reading and writing files and directories and for access to the destination directory. Security action: Demand. Associated enumerations: FileIOPermissionAccess.Read, FileIOPermissionAccess.Write
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0