批处理文件 - 将文件名添加到txt的第一行

时间:2018-05-28 19:28:05

标签: batch-file

我是第一次处理批处理文件以满足特定需求。我有几个txt文件,每个文件有很多行数据。我需要将文件名添加到每个txt文件的第一行。 从搜索和玩耍,我最接近的是:

@echo off 
setlocal enabledelayedexpansion
:: store modified files in subdirectory 'Processed'
md Processed
for %%a in (*.txt) do (
>temp echo %%a
copy temp+%%a Processed\"%%a"
)

当我运行它时,文件名被添加但格式被破坏(所有字符之间的空格和返回似乎被删除)。我在某处错过了一些简单的格式吗?

1 个答案:

答案 0 :(得分:0)

你的for循环应该是这样的。

第一行将文件名写入目的地。

第二行将整个文件追加到目的地。

for %%a in (*.txt) do (
 echo %%a > "Processed\%%a"
 type %%a >> "Processed\%%a"
)