Windows 上有一个 tree 命令,可以用图形方式显示某个路径或某个驱动器中磁盘的目录结构。为了方便,我写了一个右键菜单。每次需要获取某个文件夹的目录信息时,只需在该文件夹上点右键,选择 Get Tree Here,就会在当前目录生成一个 .ctre 文件。.ctre 文件中保存的是 tree 命令的输出。

代码

这段代码也放在了我的 gist 上。

首先,我创建了一个名为 gettree.bat 的批处理文件

REM file: gettree.bat
@tree "%~1" /F /A | more /E /S +2 > "%~1\%~nx1.ctre"

然后,通过注册表把这个批处理文件添加到右键菜单中。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\getTree]
@="Get Tree Here"
"MultiSelectModel"="Player"

[HKEY_CLASSES_ROOT\Directory\Background\shell\getTree\Command]
@="X:\\Command\\gettree \"%V\""

[HKEY_CLASSES_ROOT\Directory\shell\getTree]
@="Get Tree Here"
"MultiSelectModel"="Player"

[HKEY_CLASSES_ROOT\Directory\shell\getTree\Command]
@="X:\\Command\\gettree \"%1\""

把 X:\\Command\\gettree 改为 gettree.bat 所在的路径。将上面的代码保存为 gettree_reg.reg,双击该文件,Get Tree Here 菜单项就会出现在右键菜单中。

测试

完成上面的步骤后,在文件夹或驱动器上点右键,就会出现 Get Tree Here 选项。

Create windows directory structure file using tree command on right content menu

下面是在一个测试目录中的执行结果。

R:\INPUT
|   input.ctre
|   
+---AsciiMath
|       config.js
|       jax.js
|       
+---MathML
|   |   config.js
|   |   jax.js
|   |   
|   \---entities
|           a.js
|           b.js
|           c.js
|           d.js
|           e.js
|           f.js
|           fr.js
|           g.js
|           h.js
|           i.js
|           j.js
|           k.js
|           l.js
|           m.js
|           n.js
|           o.js
|           opf.js
|           p.js
|           q.js
|           r.js
|           s.js
|           scr.js
|           t.js
|           u.js
|           v.js
|           w.js
|           x.js
|           y.js
|           z.js
|           
\---TeX
        config.js
        jax.js

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注