2

フォルダ(バッチファイルが配置されているフォルダ)内のすべての.txtファイルをループする単純なバッチファイルを設定し、それらの各ファイルに同じ見出し行を追加したいと思います。見出し行は、別のテキストファイルで定義されています。

たとえば、私が持っているとしましょう:

c:\SomeFolder\Headings.txt   
    --> I want to add this to the top of each of the text files in:

c:\SomeFolder\FolderWithTextFiles\
    --> ...by running the batch file:

c:\SomeFolder\FolderWithTextFiles\BatchFile.batch

追記:
-サブフォルダをループする必要はありません

4

1 に答える 1

2

Windowsバッチには、ファイルを編集するためのネイティブコマンドがありません(データを追加する場合を除く)。したがって、ファイルごとに、目的のコンテンツを含む一時ファイルを作成してから、元のファイルを削除し、一時ファイルの名前を元のファイルに変更する必要があります。削除と名前変更は、単一のMOVEコマンドで実行できます。

@echo off
set "header=c:\SomeFolder\Headings.txt"
set "folder=c:\SomeFolder\FolderWithTextFiles"
set "tempFile=%folder%\temp.txt"
for %%F in ("%folder%\*.txt") do (
  type "%header%" >"%tempFile%"
  type "%%F" >>"%tempFile%"
  move /y "%tempFile%" "%%F" >nul
)
于 2012-04-13T12:03:02.150 に答える