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 namespace System; using namespace System::IO; int main() { // Make a reference to a directory. DirectoryInfo^ di = gcnew DirectoryInfo( "TempDir" ); // Create the directory only if it does not already exist. if ( !di->Exists ) 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" ) ) 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(S"That directory does not exist."); } // Point the DirectoryInfo reference to the new directory. //di = new DirectoryInfo(S"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