3

拡張子が ".mf" のテキスト ファイルをマージするバッチ コマンド ファイルを作成したいのですが、各ファイルの最初の行に日付が含まれており、最終的な出力ファイルには入れたくないので、日付行を削除する方法を教えてください。各ファイルから 1 つの大きな txt ファイルにマージインします。

次のコマンドを使用して、バッチ ファイルの txt ファイルをマージしました。

copy *.mf big.one
ren big.one filename.mf

例:

2013218;
a
b
c
d

-

2013218;
u
v
w
x
y
z

出力は次のようになります。

2013218;
a
b
c
d
u
v
w
x
y
z

並び順は問いません。

4

1 に答える 1

6
@echo off
del big.one 2> NUL
for %%f in (*.mf) do (
   if not exist big.one (
      copy "%%f" big.one
   ) else (
      for /F  "usebackq skip=1 delims=" %%a in ("%%f") do (
         echo %%a>> big.one
      )
   )
)
set /P fileDate=< big.one
ren big.one filename_%fileDate:~0,-1%.mf

このソリューションは、2 番目のファイル以降の空行を保持しません。これは、必要に応じて修正できます。

于 2013-02-19T00:11:58.857 に答える