Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
MSDN Library
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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

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 (Windows 10 device family)

Device family

Universal

API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0

Namespace

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

Metadata

Windows.Foundation.UniversalApiContract.winmd

Requirements (Windows 8.x and Windows Phone 8.x)

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:
© 2015 Microsoft