windows - 如何使用批处理文件将文本添加到多个文本文件的开头?

标签 windows batch-file

<分区>

您好,我想在 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>

关于windows - 如何使用批处理文件将文本添加到多个文本文件的开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29312672/

相关文章:

batch-file - 批处理文件: Multiple Commands on one line with Set

windows - 为什么 .Bat 文件在本地可以正常工作,但在远程调用时却无法工作?

java - 使用 Java 在 Windows 上查找用户的“我的文档”文件夹的正确方法?

windows - Vim 在文件名中使用带空格的 gf

windows - 并行运行带有循环变量的命令,最多同时运行 N 个

windows - NSIS 无法运行驱动程序安装程序批处理文件

java - 创建我自己的文件类型并使其运行另一个文件?

windows - 汇编程序指令如何无法读取它所在的内存

android - 特定的多平台应用。能做好吗?

windows - 如何在CMD中对多个命令使用启动