XML文字列のBatバッチ置換はコメントを置換します

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 を外部から開かないように注意してください。開かないと置き換えられてしまいます。

おすすめ

転載: blog.csdn.net/mashangzhifu/article/details/123520740
おすすめ