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