非 XML タグに含まれるアイテムにコメントを追加して適切にフォーマットする必要がある XML ファイルがあります。サンプル入力ファイルを以下に示します。
comment 1
<book id=1>
Book 1
</book>
comment 2
<book id=2>
Book 2
</book>
comment 3
<book id=3>
Book 3
</book>
期待される出力
<!-- comment 1 -->
<book id=1>
Book 1
</book>
<!-- comment 2 -->
<book id=2>
Book 2
</book>
<!-- comment 3 -->
<book id=3>
Book 3
</book>
記述されたバッチ スクリプト。
@ECHO off
SETLOCAL enabledelayedexpansion
SET INTEXTFILE=test.xml
SET OUTTEXTFILE=out.xml
SET "SEARCH_TEXT_1=^<book "
SET "REPLACE_TEXT_1=--^> ^<book "
SET "SEARCH_TEXT_2=^</book^>"
SET "REPLACE_TEXT_2=^</book^> ^<^!--"
SET "comment=<^!--- Converted to well formed XML --> <^!--"
ECHO !comment! > %OUTTEXTFILE%
for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
SET modified=!string:%SEARCH_TEXT_1%=%REPLACE_TEXT_1%!
SET modified=!modified:%SEARCH_TEXT_2%=%REPLACE_TEXT_2%!
ECHO !modified! >> %OUTTEXTFILE%
)
エラー:
< was unexpected at this time.
これは、'!'
シンボル をSET "REPLACE_TEXT_2=^</book^> ^<^!--"
エスケープする特別な方法はありますか?'!'