2

我想设置一个简单的批处理文件,它将遍历文件夹(放置批处理文件的文件夹)中的所有 .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

额外说明:
- 无需遍历子文件夹

4

1 回答 1

2

Windows 批处理没有本地命令来编辑文件(除了向其附加数据)。因此,对于每个文件,您需要创建一个包含所需内容的临时文件,然后删除原始文件并将临时文件重命名为原始文件。删除和重命名可以用一个 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
)
于 2012-04-13T12:03:02.150 回答