1

XML ファイルがあり、DOS コマンドを使用して、特定の行 (たとえば 7 行目) を独自の行に置き換える必要があります。これを行う方法?

4

1 に答える 1

0

私の提案は、内容ではなく番号で行を識別するという事実に基づいています。

@echo OFF
REM Say LINE 7 to be removed
SETLOCAL ENABLEDELAYEDEXPANSION
SET LOWER=6
SET UPPER=8
SET INDEX=0
SET MYLINE="this is my new line"
SET OUTFILE=%~n1.new%~x1
>%OUTFILE% (
    for /F "tokens=*" %%L in (%1) do (SET /A INDEX += 1
        IF !INDEX! LEQ %LOWER% (echo %%L) ELSE break
    )
    echo %MYLINE%
    more +%UPPER% %1
)
  • 大規模なリダイレクトを行うため、エコーオフが必要です
  • ループ内のカウンターに必要な ENABLEDELAYEDEXPANSION
  • xml ファイルを引数としてスクリプトに渡すだけです。

HTH

于 2012-10-07T18:53:21.087 に答える