如何用bat批处理,将多个文件夹中的txt文件内容合并复制成一个新的txt,并用“时间+字符”命名此txt!

如题所述

@echo off
setlocal enabledelayedexpansion
for /r %%a in (*.txt) do if "%%~xa"==".txt" set "file="%%~a"+!file!"
set NowTime=%time:~,8%
set NowTime=!NowTime::=!
set NowTime=!NowTime: =0!
copy /b !file:~,-1! "!NowTime!_NewFile.txt"
pause

脚本放在当前目录,即可把此目录中包含子目录里的txt文件全部合并。

新的文件命名格式为“时间_NewFile.txt”

追问

非常感谢!
我的txt文件在不同子目录下面,麻烦帮修改一下!20个txt在20个不同的二级目录下面!

追答

你这个20个子目录都在一个主目录吗,?在的话,这个就行。

追问

在同一个文件夹里面不同的文件夹里面!
D:\程序\文件1\data\1.txt
D:\程序\文件2\data\2.txt
D:\程序\文件3\data\3.txt
D:\程序\文件4\data\4.txt
.
.
类似这样子,一直有20个txt文件!
麻烦帮修改下!

追答

那把脚本放在“程序”这个目录中运行即可。

追问

不好意思,刚试了一下,有点不知道怎么用!前面表述有点误!应该是
D:\程序\文件1\data\A.txt
D:\程序\文件2\data\A.txt
D:\程序\文件3\data\A.txt
D:\程序\文件4\data\A.txt
只是a文件内容不一样,在你的语句里面我要修改什么才可以?
.
.

追答

晕,把我的代码弄成批处理文件后放到“D:\程序”这个目录里就可以啦!我的脚本会处理子目录中的文件的。

温馨提示:答案为网友推荐,仅供参考
相似回答