Ця відповідь заснована на Python, тому вона повинна працювати як на OSX, так і на Windows, якщо ви встановите Python (а для запису - з верхньої частини голови).
import os
import shutil
path = "C:/dir" # the directory tree you want to "explode"
store= "C:/store" # where all files will be stored
for dirpath, dirnames, filenames in os.walk(path):
name = ""
for c in dirpath:
if c != "/": # if the character is different than the current directory character
name += s
else:
name += "_" # "quick and dirty" way of resolving name conflicts
for files in filenames:
orig_loc = os.path.join(dirpath,files)
copy_loc = os.path.join(store,name + "_" + files)
shutil.copy2(orig_loc,copy_loc)
Це має скопіювати всі файли (плюс метадані) з path Структура до store папки.
Якщо ви не дбаєте про конфлікти імен, не використовуйте код між name = "" і for files in filenames заяви. Що робить цей код - це перетворення / до _ а потім перекласти це ім'я каталогу до імен файлів.
Це збереже початкову структуру, яку ви зможете видалити з shutil.rmtree(path)