0
BAT를 통해 XML 파일 (실제로는 단일 속성 값인 버전)을 수정하려고합니다. 다음BAT로 XML 편집
<?xml version="1.0" encoding="utf-8"?>
<APPS>
<APP Version="Some.Value">
<!-- APP icon. -->
<Icon>C:\Program Files (x86)\Somewhere</Icon>
<Url>http://www.somewhere.com</Url>
</APP>
</APPS>
는 BAT 파일입니다 : 다음은 내 XML 파일의 간단한 예제입니다
@ECHO off
SETLOCAL DISABLEDELAYEDEXPANSION
SET anotherVariable=New.Value
(FOR /F "usebackq delims=" %%a IN (Sample.xml) DO (
SET "line=%%a"
SETLOCAL ENABLEDELAYEDEXPANSION
SET "newLine=!line: <APP =!"
IF "!newLine!" neq "!line!" (
SET "newLine= <APP Version="%anotherVariable%">"
ECHO.!newLine!
ENDLOCAL
) ELSE (
SET "line=!line:*:=!"
ECHO.!line!
ENDLOCAL
)
)) > SampleOut.xml
그러나 다음은 SampleOut.xml입니다 :
<?xml version="1.0" encoding="utf-8"?>
<APPS>
<APP Version="New.Value">
<!-- APP icon. -->
\Program Files (x86)\Somewhere</Icon>
//www.somewhere.com</Url>
</APP>
</APPS>
문제 이 경로와 관련된 XML 행 (아이콘 및 URL 태그)이 손상되었습니다. 누군가가 나를 도울 수 있기를 바랍니다.
안녕하세요,이 위대한 작품을, 회신 주셔서 감사합니다. 1 문제 만 발생했습니다. 즉, Version 속성 이후에 나오는 나머지 속성이 손실됩니다. 그럼에도 불구하고 나에게 쉬운 해결 방법은 마지막 속성으로 Version을 넣는 것이었지만 나중에 참조 할 수 있도록 버전 이후에 오는 나머지 속성을 어떻게 보존 할 것인지 예를 들어 보겠습니다. –
내 수정 된 답변보기 – foxidrive
다시 한 번 감사드립니다. 완벽하게 작동합니다. –