DirectoryInfo.CopyTo Method (String, CopyOptions, CopyMoveProgressRoutine, Object)
Click or drag to resize
DirectoryInfoCopyTo Method (String, CopyOptions, CopyMoveProgressRoutine, Object)
[AlphaFS] Copies an existing directory to a new directory, allowing the overwriting of an existing directory, CopyOptions can be specified.

and the possibility of notifying the application of its progress through a callback function.

Namespace: Alphaleonis.Win32.Filesystem
Assembly: AlphaFS (in AlphaFS.dll) Version: 2.0
Syntax
public CopyMoveResult CopyTo(
	string destinationPath,
	CopyOptions copyOptions,
	CopyMoveProgressRoutine progressHandler,
	Object userProgressData
)

Parameters

destinationPath
Type: SystemString
The destination directory path.
copyOptions
Type: Alphaleonis.Win32.FilesystemCopyOptions
CopyOptions that specify how the directory is to be copied. This parameter can be .
progressHandler
Type: Alphaleonis.Win32.FilesystemCopyMoveProgressRoutine
A callback function that is called each time another portion of the directory has been copied. This parameter can be .
userProgressData
Type: SystemObject
The argument to be passed to the callback function. This parameter can be .

Return Value

Type: CopyMoveResult

Returns a CopyMoveResult class with the status of the Copy action.

Returns a new directory, or an overwrite of an existing directory if copyOptions is not FailIfExists.

If the directory exists and copyOptions contains FailIfExists, an IOException is thrown.

Exceptions
ExceptionCondition
ArgumentExceptionPassed when the path parameter contains invalid characters, is empty, or contains only white spaces.
ArgumentNullExceptionPassed when path is .
DirectoryNotFoundExceptionPassed when the directory was not found.
IOExceptionPassed when an I/O error occurs.
NotSupportedException
UnauthorizedAccessException
Remarks

Option NoBuffering is recommended for very large file transfers.

Use this method to allow or prevent overwriting of an existing directory.

Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.

If two directories have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.

See Also