just a better version of tree
Here is the current result, too much buggy, but works quite well with dir,pattern
Microsoft Windows [Version 10.0.19041.84]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\Users\MUA>cd C:\Users\MUA\Downloads
C:\Users\MUA\Downloads>mtree dir=E:\gits\dithering-cg
__ __ ___ .--. __.....__ __.....__
| |/ `.' `. |__| _.._ .-'' '. .-'' '.
| .-. .-. ' .--. .' .._|/ .-''"'-. `. / .-''"'-. `.
| | | | | | __ | | | ' / /________\ \/ /________\ \
| | | | | | .:--.'. | | __| |__ | || |
| | | | | |/ | \ || ||__ __|\ .-------------'\ .-------------'
| | | | | |`" __ | || | | | \ '-.____...---. \ '-.____...---.
|__| |__| |__| .'.''| ||__| | | `. .' `. .'
/ / | |_ | | `''-...... -' `''-...... -'
\ \._,\ '/ | |
`--' `" |_|
E:\gits\dithering-cg
README.md
.git
COMMIT_EDITMSG
config
description
FETCH_HEAD
HEAD
index
ORIG_HEAD
packed-refs
hooks
applypatch-msg.sample
commit-msg.sample
fsmonitor-watchman.sample
post-update.sample
pre-applypatch.sample
pre-commit.sample
pre-push.sample
pre-rebase.sample
pre-receive.sample
prepare-commit-msg.sample
update.sample
info
exclude
logs
HEAD
refs
heads
master
remotes
origin
HEAD
master
objects
04
2a9ead0bb0a9a9f731fff07e1a945495d71b88
0e
ee905640cdaa157a14d19572125912f45730c7
10
82e5a2d4fb4fe0a0e7ad18dd52d1272b7293fb
14
c2b0921d72dbacf10497fc8628a59198dcd775
16
ac0f63b8c9ff23163e926878147b0ac72b32c6
1a
f7de150c99c12dd67a509fe57c10d63e4eeb04
1f
6c8447f73a7f69f3c5dd533f73c551e57fb018
ab46f11e6350073ef1df301f304c72b77393bc
21
bd32f28d9000448bdca73dc268a260e4342402
f1dc22dbbf435f84eec7761bd41dd230f9e76f
25
903713b4e82bad1e4040d8073cb71319ccd270
d475975cc90b542f9dbef1e281b7a8c75e18a7
29
be68e93ea2340e7a800aec2246b944f214b476
dfbb16f2fdd2461a1464b711b407ccca3356c9
2b
301ec0b84c08ccccb643a751544085c9682f09
30
1d426576b40f817b33f9d88a553d0e1e97ac2a
33
69825857f27726eddf4e9adbb4166f7fbe9afb
36
244b2a545b69defaece3048be93baa2401ce8a
37
7b51ed70c4259619f97b9c6d146ec9fdda820e
39
645652af62950ebf3b28ec3a5400dcec30b1c4
3c
f970794f39a00dd01105199370cc46ecfcd82b
44
160bf7c6f688afe8a20b4ec9bd53eae2f152f2
48
ebd2d9997e7ab07feb3854f07c4a80ed170ec5
4c
4ceafca7307bf9417641e873dd1afefe091cb4
4e
f2ec77553a084d5aaac4102eb092f231710f53
51
9960ce5f1e9a3e8ccb1158faaa765396be2a26
56
18c6b6f5eb8113bdd839b9ae7ec1dac0f3b3c7
efbc7b5f15b5166cc89dae0406895b57de0b67
57
6d8f6751d54929b5c0dee0fd02e15b0e8ccf58
59
57d024f7975737fddcd01dc01d06e0a7fa8f5a
5b
2c62bbd5ab6f8dfcd9d2b81703f0779cb0d271
5d
671314f9884929a4ca33f0d660deaae836ad40
5f
7822d993614b5a68d1eaaddc0331a9a065011b
66
5afe3d21c11587470284554f71bdbbdb7b7010
6c
3070ef6c969327721ca5f26e3d2b8772e2fb4e
74
97eadd19181eb040b87df0cbd1c01415c5433e
b2a9ed5b6ee5a3f620e27bd02b61cf6b38fa8e
76
0eb9ed2a3800aad446f5b080e2d5a523c63480
79
6a8d7149952b161be854d03f022c2083687cf0
7b
10564bbc9fbe7d5f0f3fd44479914f9c812857
27b480d93d278bf713d3e2386d7db86cc3e606
7d
96944c83fcb11a59f6081a17f5cae4cf3bf306
83
4f621cbca3e6d541733419305399fe7d42ad14
87
36be5fb87b32ea937d10626d4108f48cb295e2
8d
239a7372fdca56653a90e1cb1b07d94a33e0c7
8e
5c4b7f4a837afed77dc62830e1df6ec66650de
91
66903a5cab673cd4fba2aa7bfb2c31663dd779
cdc6cce44616faafb75dfa2ecac2c3d2995452
95
e3d450436d7f301be6a4d7a951fa4b48bb8138
9a
1597977b33d8a5ffc689241e383ac4841e09d8
9b
6b9c5a6cc02e2e5320fb53146b69a19e2888b0
9d
00d40e423351ee283b85129371a7894aa2c28b
074f5dbdb8589bc673d50e860996865102f0ed
a3
57bc5659071aec8d366bd0530e7a4401657b18
611b67f19a46e5f5317d54fbfbe1eb2df2c9f6
aa
23c1026041ffc0a911c4674f783e7188a6faf4
e6adba1d7666e22e58635f273a407dbb5e7a5d
ad
73ebd0e555c739de8e03e74892650090039070
af
7dbebbacef595e3089c01c05671016c21a8304
b6
f87e39c93051cc144921d588b44ebc35afe933
b8
1f4970c740572661e1f57c7bebb139ac5d253b
584c442b81285482b135502b8d30c1b658bfab
bc
fccc0585b83f416205c4b58ba7fbcbcc1a6cdd
c0
044d92d59f48433b54885d9d76701e556b53da
c4
2cdff4ec41cc037a9099642741f6236a77a32f
c5
ffde31c0010f028709d8808d4adf826f42f94b
c7
1a0c2698c8f5381e3e01c846346c17876664a1
ce
bc97fa99a103d15437d5e451c70b3b0b0d4412
d4
6d671eb856de9ab710be3283067f8643a9472a
db
c40dca2b54478024effe0d2d638676dfbdaf14
dd
dc3dc18922932f98e2474917d47f17f2e83d6f
de
5a69516908365f855b8dbb88e1aeb60b3f7b57
e0
9e86c44a667df7d4dd6aec177398326af2b0dc
e1
f1b242b3682d5616b1ce7139c0b3fe4b80e7c4
e3
14d93a18806130c241160b08e151f34f5ecb09
e6
9de29bb2d1d6434b8b29ae775ad8c2e48c5391
ec
8658feb53158a1a9d4b95b3501c6cddcffb25e
ef
a5dec660b8bc9a91489d9789f391a9e28fed94
f7
17bdeac67732636156d1033aa06eff169d88cf
f9
63a18bd2e2fa7554dc7ac700da32e15d70da2d
d11d91d731458ab1571fbccc6ed7aa9eb454b6
ff
4adbf81a4e3a696a8f98dbb05f2a4f04b011b9
info
pack
pack-f31276203e82e7935b7fce6ba90217e490a8e7ea.idx
pack-f31276203e82e7935b7fce6ba90217e490a8e7ea.pack
refs
heads
master
remotes
origin
HEAD
master
tags
code
dithering.cpp
dithering.exe
dithering.o
python
1.png
2.png
3.png
4.png
face.jfif
me.jpg
render.py
render_image.py
sample_result.png
C:\Users\MUA\Downloads>mtree --help
Don't use space between parameter=value
Use dir=any directory location
Use pattern=any pattern for files
Use ignore=ignore folders
Use exact for exact match in folder lookup
C:\Users\MUA\Downloads>mtree pattern=.py
__ __ ___ .--. __.....__ __.....__
| |/ `.' `. |__| _.._ .-'' '. .-'' '.
| .-. .-. ' .--. .' .._|/ .-''"'-. `. / .-''"'-. `.
| | | | | | __ | | | ' / /________\ \/ /________\ \
| | | | | | .:--.'. | | __| |__ | || |
| | | | | |/ | \ || ||__ __|\ .-------------'\ .-------------'
| | | | | |`" __ | || | | | \ '-.____...---. \ '-.____...---.
|__| |__| |__| .'.''| ||__| | | `. .' `. .'
/ / | |_ | | `''-...... -' `''-...... -'
\ \._,\ '/ | |
`--' `" |_|
C:\
C:\$GetCurrent
Logs
SafeOS
C:\$Recycle.Bin
S-1-5-18
Unhandled Exception: System.UnauthorizedAccessException: Access to the path 'C:\$Recycle.Bin\S-1-5-18' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator`1.CommonInit()
at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
at System.IO.Directory.GetFiles(String path, String searchPattern)
at mtree.MTree.Run()
at mtree.MTree.Run()
at mtree.MTree.Run()
at mtree.Program.Main(String[] args)
C:\Users\MUA\Downloads>mtree pattern=.py
__ __ ___ .--. __.....__ __.....__
| |/ `.' `. |__| _.._ .-'' '. .-'' '.
| .-. .-. ' .--. .' .._|/ .-''"'-. `. / .-''"'-. `.
| | | | | | __ | | | ' / /________\ \/ /________\ \
| | | | | | .:--.'. | | __| |__ | || |
| | | | | |/ | \ || ||__ __|\ .-------------'\ .-------------'
| | | | | |`" __ | || | | | \ '-.____...---. \ '-.____...---.
|__| |__| |__| .'.''| ||__| | | `. .' `. .'
/ / | |_ | | `''-...... -' `''-...... -'
\ \._,\ '/ | |
`--' `" |_|
C:\
C:\$GetCurrent
Logs
SafeOS
C:\$Recycle.Bin
S-1-5-18
Unhandled Exception: System.UnauthorizedAccessException: Access to the path 'C:\$Recycle.Bin\S-1-5-18' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileSystemEnumerableIterator`1.CommonInit()
at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
at System.IO.Directory.GetFiles(String path, String searchPattern)
at mtree.MTree.Run()
at mtree.MTree.Run()
at mtree.MTree.Run()
at mtree.Program.Main(String[] args)
C:\Users\MUA\Downloads>mtree dir=E:\gits\dithering-cg pattern=.py
__ __ ___ .--. __.....__ __.....__
| |/ `.' `. |__| _.._ .-'' '. .-'' '.
| .-. .-. ' .--. .' .._|/ .-''"'-. `. / .-''"'-. `.
| | | | | | __ | | | ' / /________\ \/ /________\ \
| | | | | | .:--.'. | | __| |__ | || |
| | | | | |/ | \ || ||__ __|\ .-------------'\ .-------------'
| | | | | |`" __ | || | | | \ '-.____...---. \ '-.____...---.
|__| |__| |__| .'.''| ||__| | | `. .' `. .'
/ / | |_ | | `''-...... -' `''-...... -'
\ \._,\ '/ | |
`--' `" |_|
E:\gits\dithering-cg
.git
hooks
info
logs
refs
heads
remotes
origin
objects
04
0e
10
14
16
1a
1f
21
25
29
2b
30
33
36
37
39
3c
44
48
4c
4e
51
56
57
59
5b
5d
5f
66
6c
74
76
79
7b
7d
83
87
8d
8e
91
95
9a
9b
9d
a3
aa
ad
af
b6
b8
bc
c0
c4
c5
c7
ce
d4
db
dd
de
e0
e1
e3
e6
ec
ef
f7
f9
ff
info
pack
refs
heads
remotes
origin
tags
code
python
C:\Users\MUA\Downloads>mtree dir=E:\gits\dithering-cg pattern=*.py
__ __ ___ .--. __.....__ __.....__
| |/ `.' `. |__| _.._ .-'' '. .-'' '.
| .-. .-. ' .--. .' .._|/ .-''"'-. `. / .-''"'-. `.
| | | | | | __ | | | ' / /________\ \/ /________\ \
| | | | | | .:--.'. | | __| |__ | || |
| | | | | |/ | \ || ||__ __|\ .-------------'\ .-------------'
| | | | | |`" __ | || | | | \ '-.____...---. \ '-.____...---.
|__| |__| |__| .'.''| ||__| | | `. .' `. .'
/ / | |_ | | `''-...... -' `''-...... -'
\ \._,\ '/ | |
`--' `" |_|
E:\gits\dithering-cg
.git
hooks
info
logs
refs
heads
remotes
origin
objects
04
0e
10
14
16
1a
1f
21
25
29
2b
30
33
36
37
39
3c
44
48
4c
4e
51
56
57
59
5b
5d
5f
66
6c
74
76
79
7b
7d
83
87
8d
8e
91
95
9a
9b
9d
a3
aa
ad
af
b6
b8
bc
c0
c4
c5
c7
ce
d4
db
dd
de
e0
e1
e3
e6
ec
ef
f7
f9
ff
info
pack
refs
heads
remotes
origin
tags
code
python
render.py
render_image.py
C:\Users\MUA\Downloads>