書き、私は、テキストファイルを持っていると私は次のバッチコードで必要な部分を抽出:引用符の間のバッチエキス番号は、乗算とバック
@echo off > newfile & setLocal enableDELAYedeXpansioN
set H=
set T=
for /f "tokens=1* delims=[]" %%a in ('find /n "<face>" ^< C:\XML\INTERM\image-0000001.txt') do (
set H=%%a
)
for /f "tokens=1* delims=[]" %%a in ('find /n "</face>" ^< C:\XML\INTERM\image-0000001.txt') do (
set T=%%a
)
for /f "tokens=1* delims=[]" %%a in ('find /n /v "" ^< C:\XML\INTERM\image-0000001.txt') do (
if %%a gtr !H! if %%a lss !T! echo.%%b
)>> c:\XML\ADD\image-0000001.txt
goto :eof
マイ結果テキストファイルは次のとおりです。
<attribute name="personName">Test</attribute>
<attribute name="face-type">human</attribute>
<geometry>
<LinearRing ptCount="36">
<Point x="968.13" y="762.91"/>
<Point x="940.54" y="764.38"/>
<Point x="921.17" y="755.09"/>
<Point x="905.96" y="742.91"/>
<Point x="909" y="705.92"/>
<Point x="918.23" y="660.54"/>
<Point x="926.39" y="629"/>
<Point x="875.92" y="638.23"/>
<Point x="869.77" y="664.38"/>
<Point x="862.08" y="689.77"/>
<Point x="847.46" y="701.31"/>
<Point x="829.77" y="702.85"/>
<Point x="840.3" y="655.52"/>
<Point x="849" y="607.7"/>
<Point x="854.22" y="560.3"/>
<Point x="886.39" y="520.74"/>
<Point x="922.48" y="501.17"/>
<Point x="966.83" y="476.39"/>
<Point x="1001.61" y="445.96"/>
<Point x="1027.26" y="412.04"/>
<Point x="1038.23" y="393.62"/>
<Point x="1051.31" y="417.46"/>
<Point x="1062.08" y="445.92"/>
<Point x="1067.46" y="472.08"/>
<Point x="1075.15" y="505.15"/>
<Point x="1078.23" y="536.69"/>
<Point x="1073.62" y="562.85"/>
<Point x="1062.85" y="592.85"/>
<Point x="1039.87" y="622.91"/>
<Point x="1017.7" y="640.3"/>
<Point x="1003.35" y="658.13"/>
<Point x="1005.09" y="675.09"/>
<Point x="1003.35" y="691.61"/>
<Point x="999.87" y="712.04"/>
<Point x="992.91" y="728.13"/>
<Point x="982.04" y="742.48"/>
</LinearRing>
</geometry>
<eye>
<geometry>
<Rectangle x="995.9565217391305" y="661.6086956521739" width="5.217391304347757" height="12.608695652173992"/>
</geometry>
<eye-bounds>
<attribute name="occlusion">hidden</attribute>
<attribute name="open-closed-state">half-open</attribute>
<geometry>
<Rectangle x="973.3478260869565" y="659.4347826086956" width="29.565217391304373" height="21.739130434782624"/>
</geometry>
</eye-bounds>
</eye>
私はx
、y
、とheight
から(LinearRing ptCount="36"
ではない)二重引用符の間のすべての数字を抽出し、それぞれに2
を掛けて1つずつ書き戻す必要があります。私はPoint
タグ(この場合は36)の数は変わるかもしれないと言及しなければならない。私のOSはWindows 10です。
私はほとんどこれが良い質問だと思っていました...コード、出力、その後、無料コードの質問がありました...そして、その質問に対する答えは、そうではありません。あなたはバッチを初めて使う人です。あなたができることは、あなたの仕事を使ってトレーニングすることです。あなたがGoogle/SOのための答えを見つけることができなかったという直接の質問があるなら、戻ってください!それに加えて、バッチは浮動小数点数を扱うにはうまくいかない – geisterfurz007
バッチは整数だけを扱うことができます。浮動小数点数を扱うか、別の言語を使うようにするにはたくさんのコードを使う必要があります(xml形式のファイルを処理するバッチよりも確かに適しています) – Stephan