I have a list of folders and files in my current working directory as a result of a built-in function FileNames: FileNames["*", "", Infinity]]
.
It looks like this:
{Folder1\Folder11, Folder1\file11, Folder1\Folder12, Folder2\file21, etc.}
I need to transform it into a nested list looking exactly like follows (because I have a simple browsing interface based on OpenerView
):
{"current working directory", {{"Folder1", {"Folder11", "Folder12",
"file11"}}, {"Folder2", {"file21"}}, etc.}}
I found a couple of solutions here, but these algorithms require 'parentID' and they are not in Wolfram Language (so it's hard for me to understand them).
How can I do this in Mathematica?
Update
This is an example of a real flat files/folders list for "MyFolder"
obtained with FileNames
(with minimal adjustments):
{"Folder1\\file1.txt", "Folder2\\file3.dat", "Folder3\\file4.nb",
"Folder3\\file5.m", "Folder3\\file6.m",
"Folder3\\Folder31\\file11.log", "Folder3\\Folder31\\file12.log",
"Folder3\\Folder31\\Folder32\\file13.log",
"Folder3\\Folder31\\Folder32\\file14.log",
"Folder3\\Folder31\\Folder32\\Folder33\\file111.log",
"Folder3\\Folder31\\Folder32\\Folder33\\file21.xls"}
And expected result is:
{{"Folder1",{"file1.txt"}}, {"Folder2",{"file3.dat"}}, {"Folder3", {"file4.nb", "file5.m", "file6.m",{"Folder31", {"file11.log","file12.log", {"Folder32", {"file13.log", "file14.log",{"Folder33", {"file111.log", "file21.xls"}}}}}}}}}
I would like to find a method that works for folders of any deep.
MyFolder
. $\endgroup$