StorageFile.CopyAsync(IStorageFolder, String, NameCollisionOption) | copyAsync(IStorageFolder, String, NameCollisionOption) method

Applies to Windows and Windows Phone

Creates a copy of the file in the specified folder and renames the copy. This method also specifies what to do if a file with the same name already exists in the destination folder.

Syntax


storageFile.copyAsync(destinationFolder, desiredNewName, option).done( /* Your success and error handlers */ );

Parameters

destinationFolder

Type: IStorageFolder

The destination folder where the copy of the file is created.

desiredNewName

Type: String [JavaScript] | System.String [.NET] | Platform::String [C++]

The new name for the copy of the file created in the destinationFolder.

option

Type: NameCollisionOption

One of the enumeration values that determines how to handle the collision if a file with the specified desiredNewName already exists in the destination folder.

Return value

Type: IAsyncOperation<StorageFile>

When this method completes, it returns a StorageFile that represents the copy of the file created in the destinationFolder.

Exceptions

ExceptionCondition
System.UnauthorizedAccessException

You don't have permission to copy a file into the destination folder.

Examples

The following example copies a file to the specified folder and renames the copy by calling the CopyAsync(IStorageFolder, String, NameCollisionOption) method. This example explicitly specifies a value for option that replaces the file in the destination folder if a file with the specified name already exists.


// Get the app's temporary folder.
var ApplicationData = Windows.Storage.ApplicationData;
var tempFolder = ApplicationData.current.temporaryFolder;

// Create a sample file in the temporary folder.
var newFileName = "test.txt";
var newFilePromise = tempFolder.createFileAsync(newFileName);
var copiedFilePromise = newFilePromise.then(function (newFile) {

    // Get the app's local folder to use as the destination folder.
    var localFolder = ApplicationData.current.localFolder;

    // Specify a new name for the copied file.
    var renamedFileName = "renamed_test.txt";

    // Copy the file to the destination folder and rename it.
    // Replace the existing file if the file already exists.
    var NameCollisionOption = Windows.Storage.NameCollisionOption;
    return newFile.copyAsync(localFolder, renamedFileName, NameCollisionOption.replaceExisting);
});
copiedFilePromise.done(function copySuccess(copiedFile) {
    // File was copied to the destination folder.

}, function copyFail(failure) {
    // File creation or copy failed.

});

Requirements

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Minimum supported phone

Windows Phone 8

Namespace

Windows.Storage
Windows::Storage [C++]

Metadata

Windows.winmd

See also

StorageFile
CopyAsync(IStorageFolder)
CopyAsync(IStorageFolder, String)

 

 

Show:
© 2014 Microsoft