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")
)
)
나는 이러한 결과를 얻었다. 둘째, 세 번째 루프에는 좌표가 인쇄됩니다. 하지만 한 쌍의 좌표 만 인쇄됩니다 ... 키를 다시 누르면 배치가 다음 열을 인쇄하지 않고 완료됩니다. 도울 수 있니?
편집 대답이 게시 된 후 우리가 이것을 사용할 수 있습니다, 내가) 질문 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 파서를 만들지는 않겠다. 이 정보 만 필요합니다. 이 XML은 프로그램에 의해 생성되며 항상 동일해야합니다. – user1141649
확장 기능을 제거한 이유는이 코드 뒤에 폴더를 생성하기 때문입니다. 또한 temp /! K! .txt라는 파일에 라인 형식의 좌표를 쓰겠습니다. – user1141649
왜 이런 따옴표를 추가 할 수 없습니까? SET "LF = ^"(줄 바꿈 문자는 여기에 표시됨) – user1141649