Freigeben über


StorageFile.CopyAsync Methode

Definition

Überlädt

CopyAsync(IStorageFolder)

Erstellt eine Kopie der Datei im angegebenen Ordner.

CopyAsync(IStorageFolder, String)

Erstellt eine Kopie der Datei im angegebenen Ordner und benennt die Kopie um.

CopyAsync(IStorageFolder, String, NameCollisionOption)

Erstellt eine Kopie der Datei im angegebenen Ordner und benennt die Kopie um. Diese Methode gibt auch an, was zu tun ist, wenn eine Datei mit demselben Namen bereits im Zielordner vorhanden ist.

CopyAsync(IStorageFolder)

Erstellt eine Kopie der Datei im angegebenen Ordner.

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)

Parameter

destinationFolder
IStorageFolder

Der Zielordner, in dem die Kopie der Datei erstellt wird.

Gibt zurück

Nach Abschluss dieser Methode wird eine StorageFile-Datei zurückgegeben, die die Kopie der datei darstellt, die im destinationFolder erstellt wurde.

Implementiert

Attribute

Ausnahmen

Sie verfügen nicht über die Berechtigung, eine Datei in den Zielordner zu kopieren.

Beispiele

Im folgenden Beispiel wird eine Datei in den angegebenen Ordner kopiert und die Kopie umbenannt, indem die CopyAsync(IStorageFolder, String, NameCollisionOption)- Methode aufgerufen wird. In diesem Beispiel wird explizit ein Wert für die Option angegeben, die die Datei im Zielordner ersetzt, wenn bereits eine Datei mit dem angegebenen Namen vorhanden ist.

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
});

Hinweise

Diese Methode verwendet standardmäßig den FailIfExists-Wert aus der CreationCollisionOption-Enumeration . Das heißt, diese Methode löst eine Ausnahme aus, wenn eine Datei mit demselben Namen bereits im Zielordner vorhanden ist. Wenn Sie eine Dateinamenkollision auf andere Weise behandeln möchten, rufen Sie die überladene CopyAsync(IStorageFolder, String, NameCollisionOption)- Methode auf.

Hinweis

Wenn StorageFile.CopyAsync verwendet wird, um eine Datei zu kopieren, die an ein nicht verschlüsseltes Ziel verschlüsselt ist, schlägt der Aufruf mit der folgenden Ausnahme fehl: System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)

Weitere Informationen

Gilt für:

CopyAsync(IStorageFolder, String)

Erstellt eine Kopie der Datei im angegebenen Ordner und benennt die Kopie um.

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)

Parameter

destinationFolder
IStorageFolder

Der Zielordner, in dem die Kopie der Datei erstellt wird.

desiredNewName
String

Platform::String

winrt::hstring

Der neue Name für die Kopie der Datei, die im destinationFolder erstellt wurde.

Gibt zurück

Nach Abschluss dieser Methode wird eine StorageFile-Datei zurückgegeben, die die Kopie der datei darstellt, die im destinationFolder erstellt wurde.

Hinweis

Wenn StorageFile.CopyAsync verwendet wird, um eine Datei zu kopieren, die an ein nicht verschlüsseltes Ziel verschlüsselt ist, schlägt der Aufruf mit der folgenden Ausnahme fehl: System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)

Implementiert

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)
Attribute

Ausnahmen

Sie verfügen nicht über die Berechtigung, eine Datei in den Zielordner zu kopieren.

Weitere Informationen

Gilt für:

CopyAsync(IStorageFolder, String, NameCollisionOption)

Erstellt eine Kopie der Datei im angegebenen Ordner und benennt die Kopie um. Diese Methode gibt auch an, was zu tun ist, wenn eine Datei mit demselben Namen bereits im Zielordner vorhanden ist.

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)

Parameter

destinationFolder
IStorageFolder

Der Zielordner, in dem die Kopie der Datei erstellt wird.

desiredNewName
String

Platform::String

winrt::hstring

Der neue Name für die Kopie der Datei, die im destinationFolder erstellt wurde.

option
NameCollisionOption

Einer der Enumerationswerte, der bestimmt, wie die Kollision behandelt wird, wenn eine Datei mit dem angegebenen desiredNewName bereits im Zielordner vorhanden ist.

Gibt zurück

Nach Abschluss dieser Methode wird eine StorageFile-Datei zurückgegeben, die die Kopie der datei darstellt, die im destinationFolder erstellt wurde.

Hinweis

Wenn StorageFile.CopyAsync verwendet wird, um eine Datei zu kopieren, die an ein nicht verschlüsseltes Ziel verschlüsselt ist, schlägt der Aufruf mit der folgenden Ausnahme fehl: System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)

Implementiert

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)
Attribute

Ausnahmen

Sie verfügen nicht über die Berechtigung, eine Datei in den Zielordner zu kopieren.

Weitere Informationen

Gilt für: