嗨,我想在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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句