Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tree++: A Much Better Windows tree Command

中文

The tree command on Windows has seen virtually no changes since it was released nearly 40 years ago. In today’s LLM era, as a tool that is very commonly used to describe project structure, the only two options—/f and /a—are clearly insufficient. It is also not particularly fast.

tree++ is a comprehensive upgrade to tree, bringing the following to the Windows tree command:

  • An expanded parameter set, covering common features such as displaying file sizes, limiting recursion depth, changing output style, writing results to a file, and excluding specified directories (including honoring .gitignore)
  • Better performance via a Rust implementation; additionally supports multithreading in batch mode, delivering a significant scanning speed improvement
  • Achieves diff-level, bit-for-bit compatibility with the original Windows tree command in both parameters and output format, while also supporting Unix-style options (such as -f and --files).

tree++ is implemented in Rust and is open-sourced on GitHub.

Performance comparison (using C:\Windows as an example):

Type Time (ms) Multiplier
tree /f (Windows Native) 20721.90 1.00x
treepp /f 7467.99 2.77x
treepp /f /nb 7392.34 2.80x
treepp /f /nb /b 3226.38 6.42x
treepp /f /nb /b /t 1 9123.00 2.27x
treepp /f /nb /b /t 2 5767.71 3.59x
treepp /f /nb /b /t 4 3948.73 5.25x
treepp /f /nb /b /t 8 3166.81 6.54x
treepp /f /nb /b /t 16 2704.67 7.66x

Installation

Download tree++.zip from Release, extract it to a suitable directory, and add that directory to your environment variables.

Open Windows Terminal and run:

treepp /v

You should see output like:

tree++ version 0.5.0

A Much Better Windows tree Command.

author: WaterRun
link: https://github.com/Water-Run/treepp

Installation is now complete.

After that, you can use it the same way as the normal Windows tree command:

treepp /f

Quick Reference

Option Set (Equivalent Forms) Description
--help -h /? Show help information
--version -v /V Show version information
--ascii -a /A Draw the tree using ASCII characters
--files -f /F Show files
--full-path -p /FP Show full paths
--human-readable -H /HR Show file sizes in human-readable form
--no-indent -i /NI Do not show tree connector lines
--reverse -r /R Sort in reverse order
--all -k /AL Show hidden files
--size -s /S Show file size (bytes)
--date -d /DT Show last modified date
--exclude -I /X Exclude matching files
--level -L /L Limit recursion depth
--include -m /M Show only matching files
--disk-usage -u /DU Show cumulative directory size
--report -e /RP Show trailing summary statistics
--no-win-banner -N /NB Hide the Windows-native tree banner output
--silent -l /SI Silent terminal output (use with output)
--output -o /O Output results to a file (.txt, .json, .yml, .toml)
--batch -b /B Use batch mode
--thread -t /T Number of scan threads (batch mode, default is 32)
--gitignore -g /G Honor .gitignore
--no-auto-exclude /NAE Disable default generated/cache directory exclusions

For the full option set, see: tree++ Options Documentation

About

tree++: A much better Windows `tree` command—more features, faster performance, and diff-level compatibility with the original `tree`. Implemented in Rust.

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.