Partage via


StorageFile.CopyAsync Méthode

Définition

Surcharges

CopyAsync(IStorageFolder)

Crée une copie du fichier dans le dossier spécifié.

CopyAsync(IStorageFolder, String)

Crée une copie du fichier dans le dossier spécifié et renomme la copie.

CopyAsync(IStorageFolder, String, NameCollisionOption)

Crée une copie du fichier dans le dossier spécifié et renomme la copie. Cette méthode spécifie également ce qu’il faut faire si un fichier portant le même nom existe déjà dans le dossier de destination.

CopyAsync(IStorageFolder)

Crée une copie du fichier dans le dossier spécifié.

public:
 virtual IAsyncOperation<StorageFile ^> ^ CopyAsync(IStorageFolder ^ destinationFolder) = CopyAsync;
/// [Windows.Foundation.Metadata.Overload("CopyOverloadDefaultNameAndOptions")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFile> CopyAsync(IStorageFolder const& destinationFolder);
[Windows.Foundation.Metadata.Overload("CopyOverloadDefaultNameAndOptions")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFile> CopyAsync(IStorageFolder destinationFolder);
function copyAsync(destinationFolder)
Public Function CopyAsync (destinationFolder As IStorageFolder) As IAsyncOperation(Of StorageFile)

Paramètres

destinationFolder
IStorageFolder

Dossier de destination dans lequel la copie du fichier est créée.

Retours

Une fois cette méthode terminée, elle retourne un StorageFile qui représente la copie du fichier créé dans le destinationFolder.

Implémente

Attributs

Exceptions

Vous n’avez pas l’autorisation de copier un fichier dans le dossier de destination.

Exemples

L’exemple suivant copie un fichier dans le dossier spécifié et renomme la copie en appelant la méthode CopyAsync(IStorageFolder, String, NameCollisionOption). Cet exemple spécifie explicitement une valeur pour l’option qui remplace le fichier dans le dossier de destination si un fichier portant le nom spécifié existe déjà.

using Windows.Storage;
using System.Threading.Tasks;

// Get the app's temporary folder.
StorageFolder tempFolder = ApplicationData.Current.TemporaryFolder;

// Create a sample file in the temporary folder.
string newFileName = "test.txt";
StorageFile newFile = await tempFolder.CreateFileAsync(newFileName);

// Get the app's local folder to use as the destination folder.
StorageFolder localFolder = ApplicationData.Current.LocalFolder;

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

// Copy the file to the destination folder and rename it.
// Replace the existing file if the file already exists.
StorageFile copiedFile = await newFile.CopyAsync(localFolder, renamedFileName, NameCollisionOption.ReplaceExisting);
IAsyncAction MainPage::CopyFileAsync()
{
    // Get the app's temporary folder.
    StorageFolder sourceFolder{ ApplicationData::Current().TemporaryFolder() };
    StorageFolder targetFolder{ ApplicationData::Current().LocalFolder() };

    // Choose source file name and new name for the copied file.
    std::wstring newFileName{ L"test.txt" };
    std::wstring copyFileName{ L"renamed_test.txt" };

    // Create a sample file in the temporary folder.
    StorageFile sourceFile{ co_await sourceFolder.CreateFileAsync(newFileName, Windows::Storage::CreationCollisionOption::ReplaceExisting) };
    // Overwrite any existing file with the same name.
    StorageFile copiedFile{ co_await sourceFile.CopyAsync(targetFolder, copyFileName, Windows::Storage::NameCollisionOption::ReplaceExisting) };
    // Do something with copied file.
}
//Get the app's temporary folder
StorageFolder^ sourceFolder = ApplicationData::Current->TemporaryFolder;
StorageFolder^ targetFolder = ApplicationData::Current->LocalFolder;

// Choose source file name and new name for the copied file
String^ newFileName = "test.txt";
String^ copyFileName = "renamed_test.txt";

//Create a sample file in the temporary folder
auto copyFileTask = create_task(sourceFolder->CreateFileAsync(newFileName, Windows::Storage::CreationCollisionOption::ReplaceExisting)).then
([targetFolder, copyFileName](StorageFile^ sourceFile) -> task<StorageFile^>
{
    //Overwrite any existing file with the same name 
    auto copyFileTask = sourceFile->CopyAsync(targetFolder, copyFileName, Windows::Storage::NameCollisionOption::ReplaceExisting);
    return create_task(copyFileTask);
}).then([](StorageFile^ copiedFile) {
    //do something with copied file
});

Remarques

Cette méthode utilise la valeur FailIfExists de l’énumération CreationCollisionOption par défaut. Autrement dit, cette méthode déclenche une exception si un fichier portant le même nom existe déjà dans le dossier de destination. Si vous souhaitez gérer une collision de nom de fichier d’une autre manière, appelez la méthode surchargée CopyAsync(IStorageFolder, String, NameCollisionOption).

Notes

Lorsque StorageFile.CopyAsync est utilisé pour copier un fichier chiffré vers une destination qui n’est pas chiffrée, l’appel échoue avec l’exception suivante : System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)

Voir aussi

S’applique à

CopyAsync(IStorageFolder, String)

Crée une copie du fichier dans le dossier spécifié et renomme la copie.

public:
 virtual IAsyncOperation<StorageFile ^> ^ CopyAsync(IStorageFolder ^ destinationFolder, Platform::String ^ desiredNewName) = CopyAsync;
/// [Windows.Foundation.Metadata.Overload("CopyOverloadDefaultOptions")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFile> CopyAsync(IStorageFolder const& destinationFolder, winrt::hstring const& desiredNewName);
[Windows.Foundation.Metadata.Overload("CopyOverloadDefaultOptions")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFile> CopyAsync(IStorageFolder destinationFolder, string desiredNewName);
function copyAsync(destinationFolder, desiredNewName)
Public Function CopyAsync (destinationFolder As IStorageFolder, desiredNewName As String) As IAsyncOperation(Of StorageFile)

Paramètres

destinationFolder
IStorageFolder

Dossier de destination dans lequel la copie du fichier est créée.

desiredNewName
String

Platform::String

winrt::hstring

Nouveau nom de la copie du fichier créé dans destinationFolder.

Retours

Une fois cette méthode terminée, elle retourne un StorageFile qui représente la copie du fichier créé dans le destinationFolder.

Notes

Lorsque StorageFile.CopyAsync est utilisé pour copier un fichier chiffré vers une destination qui n’est pas chiffrée, l’appel échoue avec l’exception suivante : System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)

Implémente

M:Windows.Storage.IStorageFile.CopyAsync(Windows.Storage.IStorageFolder,System.String) M:Windows.Storage.IStorageFile.CopyAsync(Windows.Storage.IStorageFolder,Platform::String) M:Windows.Storage.IStorageFile.CopyAsync(Windows.Storage.IStorageFolder,winrt::hstring)
Attributs

Exceptions

Vous n’avez pas l’autorisation de copier un fichier dans le dossier de destination.

Voir aussi

S’applique à

CopyAsync(IStorageFolder, String, NameCollisionOption)

Crée une copie du fichier dans le dossier spécifié et renomme la copie. Cette méthode spécifie également ce qu’il faut faire si un fichier portant le même nom existe déjà dans le dossier de destination.

public:
 virtual IAsyncOperation<StorageFile ^> ^ CopyAsync(IStorageFolder ^ destinationFolder, Platform::String ^ desiredNewName, NameCollisionOption option) = CopyAsync;
/// [Windows.Foundation.Metadata.Overload("CopyOverload")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<StorageFile> CopyAsync(IStorageFolder const& destinationFolder, winrt::hstring const& desiredNewName, NameCollisionOption const& option);
[Windows.Foundation.Metadata.Overload("CopyOverload")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<StorageFile> CopyAsync(IStorageFolder destinationFolder, string desiredNewName, NameCollisionOption option);
function copyAsync(destinationFolder, desiredNewName, option)
Public Function CopyAsync (destinationFolder As IStorageFolder, desiredNewName As String, option As NameCollisionOption) As IAsyncOperation(Of StorageFile)

Paramètres

destinationFolder
IStorageFolder

Dossier de destination dans lequel la copie du fichier est créée.

desiredNewName
String

Platform::String

winrt::hstring

Nouveau nom de la copie du fichier créé dans destinationFolder.

option
NameCollisionOption

L’une des valeurs d’énumération qui détermine comment gérer la collision si un fichier avec le paramètre souhaitéNewName spécifié existe déjà dans le dossier de destination.

Retours

Une fois cette méthode terminée, elle retourne un StorageFile qui représente la copie du fichier créé dans le destinationFolder.

Notes

Lorsque StorageFile.CopyAsync est utilisé pour copier un fichier chiffré vers une destination qui n’est pas chiffrée, l’appel échoue avec l’exception suivante : System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)

Implémente

M:Windows.Storage.IStorageFile.CopyAsync(Windows.Storage.IStorageFolder,System.String,Windows.Storage.NameCollisionOption) M:Windows.Storage.IStorageFile.CopyAsync(Windows.Storage.IStorageFolder,Platform::String,Windows.Storage.NameCollisionOption) M:Windows.Storage.IStorageFile.CopyAsync(Windows.Storage.IStorageFolder,winrt::hstring,Windows.Storage.NameCollisionOption)
Attributs

Exceptions

Vous n’avez pas l’autorisation de copier un fichier dans le dossier de destination.

Voir aussi

S’applique à