我想设置一个简单的批处理文件,它将遍历文件夹(放置批处理文件的文件夹)中的所有.txt文件,并为每个文件添加相同的标题行。标题行在单独的文本文件中定义。
例如,假设我有:
c:\SomeFolder\Headings.txt
--> I want to add this to the top of each of the text files in:
c:\SomeFolder\FolderWithTextFiles\
--> ...by running the batch file:
c:\SomeFolder\FolderWithTextFiles\BatchFile.batch
额外说明:
- 无需遍历子文件夹
答案 0 :(得分:2)
Windows批处理没有本机命令来编辑文件(除了向其附加数据)。因此,对于每个文件,您需要创建具有所需内容的临时文件,然后删除原始文件并将temp重命名为原始文件。可以使用单个MOVE命令完成删除和重命名。
@echo off
set "header=c:\SomeFolder\Headings.txt"
set "folder=c:\SomeFolder\FolderWithTextFiles"
set "tempFile=%folder%\temp.txt"
for %%F in ("%folder%\*.txt") do (
type "%header%" >"%tempFile%"
type "%%F" >>"%tempFile%"
move /y "%tempFile%" "%%F" >nul
)