편집하려는 작업 스케줄러 XML 파일이 있습니다.배치 파일을 통한 xmlstarlet 업데이트가 업데이트/작동하지 않음
<?xml version="1.0" encoding="UTF-16"?>
<Task xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task" version="1.4">
<RegistrationInfo>
<Date>2017-03-12T16:40:52.4111579</Date>
<Author>Kevin</Author>
<Description>Runs Batch File For Counter</Description>
<URI>THETASKTITLEGOESHERE</URI>
</RegistrationInfo>
<Actions Context="Author">
<Exec>
<Command>"ACTIONGOESHERE"</Command>
</Exec>
</Actions>
</Task>
여기는 배치 파일에있는 내용입니다.
@echo off
pushd %~dp0
xml ed -inplace -r "/Task/RegistrationInfo/Author" -v CGL XMLTEST1.xml
xml ed -inplace -r "/Task/RegistrationInfo/URI" -v CGL-FakeTitle XMLTEST1.xml
xml ed -inplace -r "/Task/Actions/Exec/Command" -v "C:\Batch\Counter.bat" XMLTEST1.xml
pause
나는 여기에서 제안을 시도했다. xmlstarlet update value nothing happens
"XMLTEST1output.xml"을 끝에 추가하면 파일이 비어 있습니다. 제안 사항이 도움이 될 것입니다. 고맙습니다!
'-inplace' 옵션의 기능은 무엇입니까? – Cyrus
일부'xmlstartlet'에는 원본 파일의 변경 사항을 저장하는'--inplace' 옵션이 있습니다. 그러나 그것은 (예를 들어) ".../URI"값이 내 테스트에서 CGL-FakeTitle로 변경되지 않는 이유를 설명하지는 않습니다. 이들 중 어느 것도'-r' 또는'-u'와 함께 작동하지 않습니까? 누구든지 "우리"생각에서 오류를 발견 할 수 있습니까? 감사합니다. 행운을 빕니다. – shellter
위의 링크에 대한 내 의견을 참조하십시오. 'xml ... file.xml> file.xml'을 사용하지 마십시오! – shellter