我是第一次处理批处理文件以满足特定需求。我有几个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"
)
当我运行它时,文件名被添加但格式被破坏(所有字符之间的空格和返回似乎被删除)。我在某处错过了一些简单的格式吗?
答案 0 :(得分:0)
你的for循环应该是这样的。
第一行将文件名写入目的地。
第二行将整个文件追加到目的地。
for %%a in (*.txt) do (
echo %%a > "Processed\%%a"
type %%a >> "Processed\%%a"
)