在头部实现对新增数据的加入
实现思路
- 将上一次的
目录结构.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