Create Folder If It Doesn't Exist


	//ENSURE FOLDER EXISTS
	if (await ApplicationData.Current.LocalFolder.TryGetItemAsync("MySubFolder") == null)
		await ApplicationData.Current.LocalFolder.CreateFolderAsync("MySubFolder");

Delete All Files In A Folder


	//DELETE ALL THE FILES
	StorageFolder Folder1 = await ApplicationData.Current.LocalFolder.GetFolderAsync("MySubFolder");
	IReadOnlyList<StorageFile> FilesToBeDeleted = await Folder1.GetFilesAsync();
	if (FilesToBeDeleted != null)
	{
		foreach (StorageFile FileToDelete in FilesToBeDeleted)
			await FileToDelete.DeleteAsync(StorageDeleteOption.PermanentDelete);
	}

Look For Folders


	StorageFolder UsbDrive = (await Windows.Storage.KnownFolders.RemovableDevices.GetFoldersAsync()).FirstOrDefault();  //StorageFolder object that maps all removable devices as subfolders.
	if (UsbDrive == null)
	{
		System.Diagnostics.Debug.WriteLine("USB Drive not found");
		return;
	}

	//----- LOOK AT FOLDERS ON DRIVE -----
	IReadOnlyList<StorageFolder> UsbFoldersList = await UsbDrive.GetFoldersAsync();
	if (UsbFoldersList.Count > 0)
	{
		foreach (StorageFolder Folder in UsbFoldersList)
		{
			System.Diagnostics.Debug.WriteLine("Folder found: " + Folder.Name);

		}
	}

Copy All Files From USB Stick To A LocalFolder


	try
	{
		//>>>>>>>>>>>>>>>>> REMEMBER WE WILL ONLY SEE FILE TYPES WE'VE DECLARED IN APPXMANIFEST!!! <<<<<<<<<<<<<<<<<<##########~~~~~~~~<<<<<< LOOK!

		const string LocalFolderDirectoryName = "MyFolder";

		//----- TRY AND CONNECT TO USB DRIVE -----
		StorageFolder UsbDrive = (await Windows.Storage.KnownFolders.RemovableDevices.GetFoldersAsync()).FirstOrDefault();  //StorageFolder object that maps all removable devices as subfolders.
		if (UsbDrive == null)
		{
			System.Diagnostics.Debug.WriteLine("CheckForNewUsbMemoryStickFiles - USB Drive not found");
			CopyInUsbDriveFilesResult = "USB drive not found - no changes made";
			return;
		}

		//----- CHECK THERE ARE FILES ON DRIVE -----
		IReadOnlyList<StorageFile> FileList = await UsbDrive.GetFilesAsync();
		if (FileList.Count < 1)
		{
			CopyInUsbDriveFilesResult = "No valid files found on USB drive - no changes made";
			return;
		}

		//----- DELETE THE CONTENTS OF OUR TARGET LOCAL DIRECTORY -----
		//ENSURE FOLDER EXISTS
		if (await ApplicationData.Current.LocalFolder.TryGetItemAsync(LocalFolderDirectoryName) == null)
			await ApplicationData.Current.LocalFolder.CreateFolderAsync(LocalFolderDirectoryName);

		//DELETE ALL THE EXISTING FILES IN IT
		StorageFolder Folder1 = await ApplicationData.Current.LocalFolder.GetFolderAsync(LocalFolderDirectoryName);
		IReadOnlyList<StorageFile> FilesToBeDeleted = await Folder1.GetFilesAsync();
		if (FilesToBeDeleted != null)
		{
			foreach (StorageFile FileToDelete in FilesToBeDeleted)
				await FileToDelete.DeleteAsync(StorageDeleteOption.PermanentDelete);
		}

		//----- COPY IN ALL OF THE FILES FROM THE USB STICK -----
		//StorageFolder UsbDrive = (await Windows.Storage.KnownFolders.RemovableDevices.GetFoldersAsync()).FirstOrDefault();
		//StorageFolder Folder1 = await ApplicationData.Current.LocalFolder.GetFolderAsync("MySubFolder");
		if (UsbDrive != null)
		{
			//IReadOnlyList<StorageFile> FileList = await UsbDrive.GetFilesAsync();
			foreach (StorageFile File in FileList)
				await File.CopyAsync(Folder1);
		}

		//>>>>>>>>>>>>>>>>> REMEMBER WE WILL ONLY SEE FILE TYPES WE'VE DECLARED IN APPXMANIFEST!!! <<<<<<<<<<<<<<<<<<##########~~~~~~~~<<<<<< LOOK!

		CopyInUsbDriveFilesResult = "All files sucessfully copied from USB drive";
		return;
	}
	catch (Exception ex)
	{
		System.Diagnostics.Debug.WriteLine("Exception: " + ex.Message);
		CopyInUsbDriveFilesResult = "An error occured: " + ex.Message;
	}

 

UK Electronic Designer
USEFUL?
We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.