记录目录结构

在头部实现对新增数据的加入

实现思路

  • 将上一次的目录结构.txt文件,输出到另一个文件tmp.txt
  • 将本次内容输出到目录结构.txt(覆盖式的)
  • 再将tmp.txt中的数据,追加到目录结构.txt的末尾(追加式的)
  • 最后将tmp.txt删除
rem 注释符号,注释一整行
; 分号也是一个注释符号,注释该行之后的内容

; 关闭回显
@echo off

; 设置变量,源目录,目标描述文件
set targetName="源目录"
set fliename="目录结构.txt"

; 读取原来文件中的内容,存储中中间文件 tmp.txt
type %fliename% > tmp.txt

; 记录时间,并且使用">"重定向符号(覆盖原文件)
echo 记录时间:%date:~0,4%年%date:~5,2%月%date:~8,2%日 %time:~0,2%:%time:~3,2%:%time:~6,2%  > %fliename%

; 将最新的记录追加到文件中
tree /f %targetName% | more +2 >> %fliename%

; 将存储的旧记录追加到文件中
type tmp.txt >> %fliename%

; 删除中间文件
del tmp.txt

命令解释

type 命令:将文本内容作为标准输入,默认输出到命令行,也可以重定向输出到另一个文件

set 命令:设置自定义变量,变量=变量值,等于号的两边不能有空格

rem 命令:一半写在行的开头,代表这一行都被注释了。

%date% :获取当前时间

上一个命令 | more +2 >> %fliename%

  • 上一个命令执行结果,通过管道|作为 more的输入,
  • more +2>> %fliename%代表跳过2行重定向输出到文件中

参考文章

https://www.jianshu.com/p/69b4ad8d5bd8?utm_campaign

https://blog.csdn.net/liruxing1715/article/details/18215177

https://tieba.baidu.com/p/2699554051

原文地址:https://www.cnblogs.com/llf7/p/13188911.html