您好,我想在 Windows 中将文本添加到多个 .txt 文件的开头。
例如,我想将我的名字添加到文件夹中所有.txt 文件的开头。我试过:
for %%a in (*.txt) do type myname >> %%a
(其中 myname 是一个包含我名字的文件)
但这不是我想要的,而是将行添加到文件的末尾。
是否有类似的方法可以将文本添加到我所有的 .txt 文件的开头?
编辑:
在尝试了一些事情之后,我想到了这个:
@echo off
for %%a in (*.txt) do (
copy /b myname + %%a %%a.txt
move "%%a.txt" "%%a"
)
这可以正常工作,并将文件 myname 中包含的文本放在文件夹中每个 .txt 的顶部。
这将完成您的要求。基本上它是创建一个新文件,顶部有我的名字,然后将原始文件附加到它。然后删除原始文件并将新文件重命名为原始文件名。没有理由你不能通过替换我的 echo 语句将任何文件“键入”到开头。
@echo off
for /r %%a in (*.txt) do (
echo ---- %%a before ----
type "%%a"
echo --------------------
echo 'bert' > "%%a.tmp"
type "%%a" >> "%%a.tmp"
del "%%a"
move "%%a.tmp" "%%a"
echo ---- %%a affter ----
type "%%a"
echo --------------------
)
我得到的输出是:
C:\Users\Bert\Documents\test>addMyNameToTop.bat
---- C:\Users\Bert\Documents\test\test.txt before ----
testing 1-2-3
--------------------
1 file(s) moved.
---- C:\Users\Bert\Documents\test\test.txt affter ----
'bert'
testing 1-2-3
--------------------
C:\Users\Bert\Documents\test>