您好我想在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的顶部。
答案 0 :(得分:2)
这将满足您的要求。基本上它是在我的名字顶部创建一个新文件,然后将原始文件附加到它。然后删除原始文件并将新文件重命名为原始名称。没理由你不能通过替换我的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>