xmlファイルを読み込むためにこのスクリプトがあります。ファイルには、座標が含まれており、私は、座標を一覧表示したい:あなたは座標を持つラインを参照してくださいxmlファイルから座標を読み取る
14.63778004128814,49.50141683426452,0 14.63696238385996,49.48348965654706,0 14.6
8840586504191,49.47901033971912,0 14.68589371304878,49.49939179836829,0 14.63778
004128814,49.50141683426452,0 </coordinates>
Press and key to continue...
14.63778004128814,49.50141683426452,0
Press and key to continue...
まず:
@echo off
setlocal EnableDelayedExpansion
FOR %%K IN (*.xml) DO (
SET K=%%K
SET K=!K:~0,-4!
SET "prep=0"
REM READ DATA
FOR /F "tokens=*" %%X IN (!K!.kml) DO (
if !prep! == 1 (
echo %%X
pause
FOR /F %%L IN ("%%X") DO (
SET L=%%L
IF NOT "!L:~0,1!" == "<" (
echo %%L
)
)
SET "prep=0"
)
if "%%X" == "<coordinates>" (SET "prep=1")
)
)
が、私はこれらの結果を得ました。次に、3番目のループには、座標が印刷されています。しかし、私は1組の座標しか印刷していません...キーをもう一度押すと、次の列を印刷せずにバッチが終了します。手伝ってくれますか?
編集 答えが掲載された後、私たちはこれを使用することができ、私は)質問1を持っている:なし遅延LF変数が存在しないとき
SET LF=^
setlocal EnableDelayedExpansion
... (next code) ...
set "var=!var: =%LF%!"
だから、我々はそれを埋め込むことができます。か否か?
そして2)あなたのコードで
for %%L in ("!LF!") do set "X=!X: =%%~L!"
あなたは%%使用しなかった理由〜Lだけではなく、%% L
ありがとうございました。それは長い答えです(ソリューションを置き換えることはとても簡単です)。私はこれを後で何度もコメントします。今すぐxml解析のためのコメント。いいえ、xmlパーサを作成するつもりはありません。私はこの1つの情報だけが必要です。このxmlはプログラムによって生成され、常に同じでなければなりません。 – user1141649
拡張を削除した理由は、このコードの後にフォルダを作成することです。また、temp /!K!.txtというファイルに行形式の座標を書きます。 – user1141649
なぜこのような引用符を追加できないのですか? SET "LF = ^"(改行文字はここに表示されます) – user1141649