def copy_all_files_and_subfolders(src, dest, base_path_ignore, xtn_list):
	"""
	file_tools.copy_all_files_and_subfolders(src, dest, backup_path, ['*.*'])
	gets list of all subfolders and copies each file to 
	its own folder in 'dest' folder
	paths, xtn, excluded, output_file_name = 'my_files.csv')
	"""
	ensure_dir(dest)
	fl = mod_fl.FileList([src], xtn_list, exclude_folders,  '')
	all_paths = fl.get_list_of_paths()
	fl.save_filelist(os.path.join(dest,'files_backed_up.csv'),  ["name", "path", "size", "date"])
	
	for p in all_paths:
		dest_folder = os.path.join(dest, p[len(base_path_ignore):])
		ensure_dir(dest_folder)
		#print('copying ' + p)
		copy_files_to_folder(p, dest_folder, xtn='*')