Команда Windows tree
, к сожалению, не поддерживает параметр максимальной глубины.Однако вы можете отфильтровать вывод с помощью команды findstr
следующим образом:
tree "C:\Test\Game1" /A | findstr /V /B /R /C:"[| ] "
Предполагая, что выходные данные этой команды tree
похожи (используя символы ASCII(/A
), а не расширенные, потому что их легче обрабатывать, поскольку они не зависят от текущей кодовой страницы):
Folder PATH listing for volume &&&&
Volume serial number is ####-####
C:\TEST\GAME1
+---folder1
| +---folder11
| | +---folder111
| | \---folder112
| \---folder12
| +---folder111
| \---folder112
+---folder2
| +---folder21
| \---folder22
\---folder3
+---folder31
\---folder32
Команда findstr
удаляет (/V
) все, что начинается (/B
) с |
или SPACE и сопровождается еще тремя SPACEs .Эти критерии выполняются для всех строк, которые показывают папку, которая находится глубже уровня 1. Следовательно, вывод будет выглядеть примерно так:
Folder PATH listing for volume &&&&
Volume serial number is ####-####
C:\TEST\GAME1
+---folder1
+---folder2
\---folder3
Чтобы отобразить больше уровней, просто расширьтепоиск выражения соответственно;чтобы спуститься до уровня 2, используйте /C:"[| ] [| ] "
.
Чтобы скрыть заголовок (содержащий информацию о томе и корневой путь верхнего регистра), просто добавьте SPACE и /C:"[^+|\\]"
в командной строке.
Обратите внимание, что разделитель пути Windows равен \
, но не /
.