如何将文本批量添加到多个文件的开头和结尾?
How to bulk add text to beginning and ending of multiple files?
我有字幕文件 (.srt)。我想在这些文件的开头和结尾添加一些文本。它们都不在同一个文件夹中。所以它也必须影响子文件夹文件。是否有批处理代码或任何其他方式来执行此操作?
编辑:这段代码帮助我将文本添加到文件的开头。我如何更改它以添加到文件结尾?
@echo off
for /r %%a in (*.srt) do (
echo 'text' > "%%a.tmp"
type "%%a" >> "%%a.tmp"
del "%%a"
move "%%a.tmp" "%%a"
)
看来你根本不熟悉,也根本没有尝试去理解剧本...
for /r
递归目录搜索 *
(=全部).srt
-文件 do (
echo text >
(=into) %%a
(=原始文件名作为递归循环的参数).tmp
type >> %%a.tmp
(将文件的全部内容回显到 .tmp
-文件的末尾)
del
旧文件
move .tmp
-文件到旧文件名
因此,您用来将文本添加到顶部的行是 echo 'text' > %%a.tmp
在 将当前内容键入其中之前。
在输入当前内容后移动同一行后添加文本。此外,您必须将 >
更改为 >>
,因为 >
表示用上述文本覆盖文件,而 >>
表示追加。
我有字幕文件 (.srt)。我想在这些文件的开头和结尾添加一些文本。它们都不在同一个文件夹中。所以它也必须影响子文件夹文件。是否有批处理代码或任何其他方式来执行此操作?
编辑:这段代码帮助我将文本添加到文件的开头。我如何更改它以添加到文件结尾?
@echo off
for /r %%a in (*.srt) do (
echo 'text' > "%%a.tmp"
type "%%a" >> "%%a.tmp"
del "%%a"
move "%%a.tmp" "%%a"
)
看来你根本不熟悉,也根本没有尝试去理解剧本...
for /r
递归目录搜索 *
(=全部).srt
-文件 do (
echo text >
(=into) %%a
(=原始文件名作为递归循环的参数).tmp
type >> %%a.tmp
(将文件的全部内容回显到 .tmp
-文件的末尾)
del
旧文件
move .tmp
-文件到旧文件名
因此,您用来将文本添加到顶部的行是 echo 'text' > %%a.tmp
在 将当前内容键入其中之前。
在输入当前内容后移动同一行后添加文本。此外,您必须将 >
更改为 >>
,因为 >
表示用上述文本覆盖文件,而 >>
表示追加。