吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4343|回复: 3
收起左侧

[Windows] 「更强大的tree」ctree v1.0【命令行工具】

  [复制链接]
听风起的乐天派 发表于 2025-5-16 11:22

命令行目录树工具 ctree

引言

注:项目代码和本文使用了AI辅助

在 Windows 命令行环境中,tree 命令是查看目录结构的常用工具。然而,其原生功能在特定场景下存在局限,例如缺少对显示层级的直接控制(即 -L 参数)。为弥补此不足并提供更完善的功能,开发了 ctree,一款命令行目录树工具。该项目最初旨在实现层级控制,后续逐步集成了更多实用特性。

ctree 目前已在 GitHub 开源,项目地址为:https://github.com/newcovid/ctree/tree/main


使用截图

帮助文档

帮助文档

用例展示

用例展示

ctree 功能特性

ctree 在兼容原生 tree 命令核心功能的基础上,进行了显著的功能增强与扩展,主要体现在以下几个方面:

  • 层级控制:

    • 通过 -L <层数> 参数,用户可精确指定目录树的显示深度。
      ctree . -L 2
  • 多样化的输出格式:

    • JSON 输出 (-J):支持将目录结构输出为 JSON 格式,便于后续的程序化处理与数据集成。
      ctree . -L 1 -J -o my_project_structure.json
    • XML 输出 (-X):提供 XML 格式的输出选项。
    • 文件输出 (-o <文件名>):可将结果重定向至指定文件,并默认采用 UTF-8 编码,确保多语言环境下的兼容性。
  • 详尽的信息展示与高级过滤:

    • 文件列表显示 (/F 或 -f):该参数在所有输出模式(包括文本、JSON 及 XML)下均有效,用于控制是否在目录条目下列出文件名。
    • 文件/目录大小显示 (-s, --show-size):能够展示各条目的大小。配合 --si 参数,可按 1000 基数(KB, MB)显示,替代默认的 1024 基数(KiB, MiB)。目录大小为其所含所有文件和子目录的总和。
      ctree "C:\Program Files" -L 1 -s --si
    • 文件/目录属性显示 (-p, --show-perms):展示包括只读、隐藏、系统、存档、目录、链接、压缩、加密等在内的文件属性。
    • 隐藏及系统文件显示 (-a):允许用户查看并列出隐藏文件和系统文件。
    • 内容包含/排除过滤器 (--include, --exclude):支持使用通配符 (*, ?) 定义包含或排除特定文件/目录的模式。可通过 --ignore-case 参数使模式匹配忽略大小写。
      ctree . --include "*.c" --exclude "build/*"
    • 控制台颜色高亮 (-c) (文本模式):在控制台输出时,为不同类型的文件和目录应用不同颜色,以提升可读性。
  • 辅助功能:

    • ASCII 线条 (/A, --ascii):在不支持扩展字符集的终端环境中,使用 ASCII 字符绘制树状结构。
    • 统计报告:程序执行完毕后,默认输出目录与文件的统计信息。此功能可通过 --noreport 参数禁用。
    • 多语言支持:帮助文档 (-h, --help) 提供中文及英文 (--lang=en) 版本。

系统集成

可以将该工具所在目录添加到环境变量的Path变量中,实现全局的ctree指令。

目录展示

目录展示

环境变量配置

环境变量配置

如果想要将原生的tree指令替换掉,需要将此工具所在的目录添加到系统的环境变量中,并将软件重命名为“tree.exe”,并将该目录层级上移直至超过“%SystemRoot%\system32”目录。
通常情况下建议添加到用户的环境变量中,以保持原tree指令和ctree可以同时存在。


使用示例

使用示例:

  • 显示当前目录结构,最大深度为2层,包含文件列表及大小信息:
    ctree . -L 2 -f -s
  • 分析 "D:\Downloads" 目录,排除所有扩展名为 ".tmp" 的文件,并将结果以 JSON 格式保存至 "downloads_tree.json":
    ctree "D:\Downloads" --exclude "*.tmp" -J -o downloads_tree.json
  • 显示当前目录下包含隐藏文件的结构,并使用 ASCII 字符集进行绘制:
    ctree . -a --ascii

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
jamessteed + 1 + 1 谢谢@Thanks!
vitrel + 1 + 1 谢谢@Thanks!
justdoitnow + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 听风起的乐天派 发表于 2025-5-16 11:24
正文忘记附蓝奏云地址了:
https://wwpd.lanzouy.com/i0bMv2wd5dub
密码:6oj8
vitrel 发表于 2025-5-17 09:07
很喜欢这种命令行工具!
平常用不着,但有时候却能发挥大作用。
先收藏。
munoo 发表于 2025-5-20 12:34
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-10-24 03:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表