Bat バッチ XML の置換により、! コメントが削除されます。
XML ファイル内の指定された文字列を置換するバット スクリプトを作成しました。置換後は、XML ファイル内のすべての文字列が削除されます。
<!-注释-->
コメント内の ! は空に置き換えられますし、インターネット上にリソースもあまりありません。調べても解決策が見つかりませんでした。後で、変数の遅延が原因であることがわかり、変数バットの中は本物だった。。。利用可能なコードは次のとおりです。
set dgPomPath=d:\xxx\xxx.xml
set oldVersions=1.0.1
set newVersions=1.0.2
for /f "delims=" %%i in (%dgPomPath%) do (
set "dgContent=%%i"
setlocal enabledelayedexpansion
set "dgContent=!dgContent:<revision>%oldVersions%</revision>=<revision>%newVersions%</revision>!"
set "dgContent=!dgContent:<version>%oldVersions%</version>=<version>%newVersions%</version>!"
echo !dgContent!>>$
endlocal)
move $ %dgPomPath%
setlocalenablelayedexpansion を外部から開かないように注意してください。開かないと置き換えられてしまいます。