如何使用.bat文件将文本插入多个文件的开头?

时间:2017-04-06 20:45:58

标签: windows batch-file cmd

以下代码会在文件夹中的每个.txt文件的末尾添加文本,但是如何在每个文件的开头插入文本呢?

@echo off
for %%a in (*.txt) do type append_me >> %%a

2 个答案:

答案 0 :(得分:1)

我不知道是否有更好的方法可以做到这一点,但你可以通过以下方式来实现:

for %i in (*.txt) do type insert_me > "%temp%\toinsert" & type "%i" >> "%temp%\toinsert" & move /Y "%temp%\toinsert" "%i"

答案 1 :(得分:0)

有几个选项,其中一些我想告诉你:

  1. 最简单的方法是使用copy+Aacini中已经建议的comment):

    for %%a in ("*.txt") do (
        copy "insert_me.txt"+"%%~a" "%%~a.tmp" /B
        move /Y "%%~a.tmp" "%%~a"
    )
    
  2. 依靠重定向,您可以执行此操作以插入文本:

    for %%a in ("*.txt") do (
        > "%%~a.tmp" type "insert_me.txt"
        >>"%%~a.tmp" type "%%~a"
        move /Y "%%~a.tmp" "%%~a"
    )
    
  3. 或者,使用copy代替> - 重定向。

    for %%a in ("*.txt") do (
        copy "insert_me.txt" "%%~a.tmp"
        >>"%%~a.tmp" type "%%~a"
        move /Y "%%~a.tmp" "%%~a"
    )