StorageFile.CopyAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
- 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
- Attribute
Ausnahmen
Sie verfügen nicht über die Berechtigung, eine Datei in den Zielordner zu kopieren.