Skip to main content
StorageFolder.DeleteAsync(StorageDeleteOption) | deleteAsync(StorageDeleteOption) method

Applies to Windows and Windows Phone

Deletes the current folder. This method also specifies whether to delete the folder permanently.

Syntax


storageFolder.deleteAsync(option).done( /* Your success and error handlers */ );

public IAsyncAction DeleteAsync(
  StorageDeleteOption option
)

Public Function DeleteAsync(
  option As StorageDeleteOption 
) As IAsyncAction

public:
IAsyncAction^ DeleteAsync(
  StorageDeleteOption option
)

Parameters

option

Type: StorageDeleteOption

One of the enumeration values that specifies whether to delete the folder permanently.

Return value

Type: IAsyncAction

No object or value is returned by this method when it completes.

Exceptions

ExceptionCondition
System.UnauthorizedAccessException

You don't have permission to delete the specified folder.

Examples

The following example shows how to delete the current folder by calling the DeleteAsync(StorageDeleteOption) method. This example explicitly specifies a value for option that deletes the file permanently.


using Windows.Storage;
using System.Threading.Tasks;
using System.Diagnostics; // For writing results to Output window.
...
            // Get the app's local folder.
            StorageFolder localFolder =
                Windows.Storage.ApplicationData.Current.LocalFolder;

            // Create a temporary folder in the current folder.
            string folderName = "Test";
            StorageFolder testFolder =
                await localFolder.CreateFolderAsync(folderName);

            // Has the folder been created?
            if(await localFolder.TryGetItemAsync(folderName) != null)
                Debug.WriteLine("Folder " + folderName + " exists.");
            else
                Debug.WriteLine("Folder " + folderName + " does not exist.");

            // Delete the folder permanently.
            await testFolder.DeleteAsync(StorageDeleteOption.PermanentDelete);

            // Has the folder been deleted?
            if(await localFolder.TryGetItemAsync(folderName) != null)
                Debug.WriteLine("Folder " + folderName + " exists.");
            else
                Debug.WriteLine("Folder " + folderName + " does not exist.");

// Get the app's local folder.
var localFolder = Windows.Storage.ApplicationData.current.localFolder;

// Create a temporary folder in the current folder.
var folderName = "Test";
var testFolderPromise = localFolder.createFolderAsync(folderName);
var getItemPromise = testFolderPromise.then(null, function createFolderFail(error) {

    // Folder creation failed.
    // Does the folder already exist?
    return localFolder.tryGetItemAsync(folderName);
});
var deleteItemPromise = getItemPromise.then(function getItemSuccess(testFolder) {
    if (testFolder !== null) {
        console.log("Folder", folderName, " exists.");
    } else {
        console.log("Folder", folderName, " does not exist.");
    }

    // Delete the folder.
    var StorageDeleteOption = Windows.Storage.StorageDeleteOption;
    return testFolder && testFolder.deleteAsync(StorageDeleteOption.permanentDelete);
});
var getDeletedItemPromise = deleteItemPromise.then(function deleteSuccess() {

    // Has the folder been deleted?
    return localFolder.tryGetItemAsync(folderName);
});
getDeletedItemPromise.done(function getDeletedItemSuccess(item) {
    if (item !== null) {
        console.log("Folder", folderName, "exists.");
    } else {
        console.log("Folder", folderName, "does not exist.");
    }
});

	StorageFolder^ localFolder = ApplicationData::Current->LocalFolder;

	String^ folderName = "test";

	create_task(localFolder->CreateFolderAsync(folderName)).then([=](StorageFolder^ newFolder) -> task<IStorageItem^> {
		//Check the folder exists
		return create_task(localFolder->TryGetItemAsync(folderName));
	}).then([=](IStorageItem^ newFolder) -> task<void> {
		String^ output = "";
		if (newFolder == nullptr)
		{
			output = "Folder: " + folderName + " not found\n";
		}
		else
		{
			output = "Folder: " + folderName + " created\n";
		}
		OutputDebugString(output->Begin());
		return create_task(newFolder->DeleteAsync(StorageDeleteOption::PermanentDelete));
	}).then([=]() -> task<IStorageItem^>  {
		return create_task(localFolder->TryGetItemAsync(folderName));
	}).then([=](IStorageItem^ newFolder){
		String^ output = "";
		if (newFolder == nullptr)
		{
			output = "Folder: " + folderName + " deleted\n";
		}
		else
		{
			output = "Folder: " + folderName + " not deleted\n";
		}
		OutputDebugString(output->Begin());
	});

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

StorageFolder
DeleteAsync