终于把电脑文件目录树备份下来了 -- tree、node、bat轮番上阵

0x00 场景

  1. 电脑用久了,估计都会有一些常用的软件,和常用的目录分类习惯。那么,如果电脑突然坏了,能快速在新电脑搭建出原本熟悉的环境吗。所以我决定对重要的目录进行目录树备份。
  2. 当然,如果你想要用来生成README说明文件的目录树也是可以的。
    ps:下面内容含踩坑经历,急需答案可以直接看最后的总结。

0x01 生成目录树文件

  • 首先尝试了cmd自带的tree命令,发现可用选项太少,生成的目录树太大,把很多无关的细节都写进文件了
# windows的cmd命令,生成整个D盘目录树的命令
tree D: > treefile.txt
  • 然后尝试了node生态的node-tree-cli包
    • 安装node点我
    • 安装node-tree-cli包:在cmd运行命令:npm instal -g tree-node-cli

具体细节可以参考这里:https://blog.csdn.net/weixin_44778151/article/details/117173697

0x02 使用node-tree-cli包的treee命令和bat批处理

  • 注意是treee命令,和原生的tree命令分离,查看帮助是treee -h
  • 这时候使用treee -L 2 > treefile.txt命令即可生成对应文件夹的目录树了

加入bat批处理:

  1. 双击bat文件即可生成目录树文件
  2. 目录文件自动放到一个指定的文件夹里面,便于管理
  3. 生成目录树文件名为文件夹名字
  • 于是制作了第一个目录树bat文件
# 只有两行,生成目录树文件,移动目录树文件到指定文件夹
treee -d -L 2 > %cd%.txt
move %cd%.txt D:\backup

出现问题:目录不存在
推测原因为文件生成命令和移动文件的命令是异步的,就是目录文件还没生成完成,move移动命令就执行了。

  • 于是制作了第二个目录树bat文件
# 只有一行,生成目录树文件,移动目录树文件到指定文件夹
treee -d -L 2 > %cd%.txt && move %cd%.txt D:\ && pause

解决方法:利用&&命令连接的特性,需要前一条命令执行成功才会执行下一条命令,实现同步的效果。

0x03 结果

注意:

  • 权限问题,无法直接生成整个盘的文件目录
  • 如果需要直接获取bat文件,可以看后面总结里面,有链接。
  • 如果需要重复生成目录树文件,需要在move指令加/Y参数,后面bat文件中已解决此问题。

结果:生成了Tools文件夹的文件树文件
在这里插入图片描述

0x04 总结

# 暂停界面
treee -d -L 2 > %cd%.txt && move /Y %cd%.txt D:\backup && pause
## 前置操作
- 安装node,网上直接搜node安装即可
- 安装tree-node-cli:直接在cmd运行命令 npm instal -g tree-node-cli

## 说明
- 文件夹中有两个.bat文件
- 双击.catalog.bat生成的目录树不包含文件
- 双击.catalog-content.bat生成的目录树包含文件
- 默认生成目录文件在D盘根目录
- 默认目录树文件名是需要备份的目录的文件夹名

## 操作步骤
1. 右键.catalog.bat文件,点击编辑
2. 修改D:\为想要目录树输出的目录
3. 把.catalog.bat文件放到要备份的文件夹,双击。
4. 查看cmd窗口是否显示成功移动文件。

## 注意
- 需要备份哪个目录就把bat文件放到哪个目录双击执行
- 权限问题,暂时无法直接备份根目录的目录树
- 注意文件路径写对
- -L后面的数字表示生成目录的层级
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值