Is there any good tool that I can use to get a browsable tree-view of the directory structure of a partition? Something like the tree view in the windows explorer. Additionally, I need to be able to export that file-list, so that others can view it without access to the partition.

To clarify, I am not interested in the files themselves. I just need a hierarchical listing of all files. Zipping them all up is not what I want.

12 Answers 12

up vote 80 down vote accepted

Assuming your directory tree is of reasonable size, you could also use the built in tree command, which produces a rather pretty looking directory tree. Unfortunately this prettiness is difficult to get working outside of a cmd instance, so you'll probably want to tell it to just use ascii characters with the /A switch.

Example:

From a small multi-level structure

+---A
|   +---A
|   \---B
+---B
|   \---A
|       \---A
\---C

You can then redirect this to a file using a command like:

tree /A ["directory path"] > tree.txt

Where the directory path is optional, but useful if you want to tree something which isn't the current working directory.

  • 2
    You can also pipe this output to a text file by doing: tree E: \A \F > output.txt – xan Aug 4 '11 at 13:35
  • @xan; Whoops, that was the important bit of the answer and I completely forgot about it! Thanks – Phoshi Aug 4 '11 at 13:37
  • @xan just FYI, you need to use forward-slashes (/) instead of backslashes for command line argument identifiers. Backslashes are directory tree separators in Windows systems. – Breakthrough Aug 4 '11 at 13:39
  • 3
    @Breakthrough: Whoops - yes, tree E: /A /F > output.txt - mistyped my slashes! – xan Aug 4 '11 at 15:32
  • 3
    You can also show the filenames below their parent folder on the tree structure by adding the /f option like this: tree /A /f ["directory path"] > tree.txt – Ulysses Alves Dec 23 '16 at 17:29

If you want to use the code is very simple and the output is nice.

Code:

Get-ChildItem | tree

With

Get-ChildItem | tree > foo.txt

you can pipe the output to a Textfile.

Example Output:

Auflistung der Ordnerpfade für Volume System
Volumeseriennummer : 48E9-F43B
C:.
├───Contacts
├───Desktop
├───Downloads
│   └───Evernote Import
├───Dropbox
│   ├───Apps
│   │   └───iftttcom
│   │       └───getpocketpdf
│   ├───Backup
│   ├───Camera Uploads
│   ├───Development
  • Is there a way to make is not display hidden folders and limit the depth? Thank You. – Royi Jul 17 '16 at 22:04
  • @Drazick have look at this: stackoverflow.com/questions/13249085/… and technet.microsoft.com/en-us/library/… – Marcel Janus Jul 19 '16 at 10:11
  • Hi, So something like Get-ChildItem -Recurse -Depth 2 | tree > FolderTree.txt will work? – Royi Jul 19 '16 at 10:14
  • @Drazick Did you read the websites? Anything you asked is answered there – Marcel Janus Jul 25 '16 at 16:40
  • I did. I'm no experienced and I guess I did something wrong as I don't get the result I wanted. – Royi Jul 25 '16 at 19:56

You can also put the results directly into the clipboard (in Vista+):

tree | clip

While you most likely want the output of the TREE command (e.g. TREE /F > output.txt) in this case, if raw text as the output is fine, then you can run the following from a command prompt:

DIR C:\ /S > output.txt

Where output.txt will be generated in the current working directory, and contain a listing of all files and directories on the C: drive. If you want just an output of files with their full paths, run the following:

DIR C:\ /B /S > output.txt

It would also be a trivial task to write a program to parse the output back into a directory view style program for you to view.

Open command prompt window --> Go to your directory path

Then run the following command to generate

tree /f /a > tree.doc

Above command will make the folder and files structure recursively and export to word document file. You can find "tree.doc" created in the same folder

Use the following powershell command, also remember that you can export it to Xml, csv or to database. Also I have restricted properties to full name and name, you can use other properties like modified timestamp etc.

Get-ChildItem -Recurse 'Z:\temp' *.xml | Select-Object -Property FullName,name | Export-Csv directory_structure.csv
  • Is there a way to make it show only folders name (Ignoring hidden folders like .git folders) and limit the depth? Thank You. – Royi Jul 17 '16 at 22:07

I have created a program specifically for this - Directory Snapshot.
It recursively iterates through a directory and stores the names and sizes of all the files and folders it encounters in neatly-structured HTML files, which have an organization similar to that of the input directory.
In other words, this can be thought of as a hyperlinked version of the dir /s or tree /f commands.

Although this has already been answered, I came looking here for the solution, but didn't find it.

Looking further, I found this : http://gnuwin32.sourceforge.net/packages/tree.htm

With that I can follow the instructions of http://nsaunders.wordpress.com/2010/11/16/dropbox-tip-continued-convert-a-file-tree-to-html/ , and create a HTML tree of my Dropbox public folder, and in that way share a directory tree very easy.

Try this powershell script if you want to list the number of files in each directory from your current location...

$dirs = Get-ChildItem -recurse | Where{$_.psIsContainer -eq $true} ; ForEach($d in $dirs){ "{0,6} | {1,-1}" -f (Get-ChildItem -path $d.fullname -recurse | where {$_.psIsContainer -ne $true}).count,$d.fullname >> file_counts.txt }

You could just use xcopy with the /T and /E option to copy only directories. That would get you a complete and browsable copy of the structure, and answers the first part of your question. Does not let you view files though...

You could use an archiving tool, such as WinZIP that can zip an entire directory structure into a single file, that you can, for example, transfer on a network, or put on a USB disk. Some tools will also keep flags such as read-only, archive, etc.

Under Linux, my favorite tool for such action is tar, that will take an entire directory structure into a single file, which I can couple with gzip to actually compress the whole thing.

I found the easiest way going to command prompt and entering (in my case I needed the K: directory)

tree K: > tree.doc

I chose a Word document since I needed something user friendly. Just select MS-Dos when opening it in Word and it'll look great.

protected by Community Dec 24 '16 at 11:09

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.