-3
XML 파일의 특정 특성을 편집하는 방법을 알고 싶습니다. 나는이 같은 모습을 편집하고 싶은일괄 처리를 사용하여 XML 특성 편집
속성 : 나는 파일을 임의의 24 자리 숫자로 값을 설정하려는
<Data key="serial">912487015087068085841514</Data>
.
XML 파일의 특정 특성을 편집하는 방법을 알고 싶습니다. 나는이 같은 모습을 편집하고 싶은일괄 처리를 사용하여 XML 특성 편집
속성 : 나는 파일을 임의의 24 자리 숫자로 값을 설정하려는
<Data key="serial">912487015087068085841514</Data>
.
PowerShell은 XML 데이터를 잘 처리합니다. sed, jrepl.bat 또는 다른 텍스트 조작 도구를 사용하기위한 제안을 피하기 위해이 글을 게시하고 있습니다. XML은 계층 적 개체로 처리되어야합니다. 당신이 원하는 경우
<# : batch portion
@echo off & setlocal
set "xmlfile=test.xml"
powershell -noprofile "iex (${%~f0} | out-string)"
goto :EOF
: end batch/begin PowerShell hybrid code #>
function rnd([int]$digits) {
$x = foreach ($i in 1..$digits) { get-random -min 0 -max 9 }
$x -join ''
}
[xml]$xml = gc $env:xmlfile
$xml.SelectSingleNode('//Data[@key="serial"]/text()').data = rnd 24
$xml.Save($env:xmlfile)
, 당신은 더 많은 임의성 24 개 진 문자를 생성하는 rnd()
기능 (0-9과 A-F)를 변경할 수 있습니다.
function rnd([int]$digits) {
$x = foreach ($i in 1..$digits) { (get-random -min 0 -max 16).toString('x') }
$x -join ''
}
... 또는 모든 영숫자로 생성 할 수 있습니다.
function rnd([int]$digits) {
$x = foreach ($i in 1..$digits) { [char](48..57 + 65..90 + 97..122 | get-random) }
$x -join ''
}
는하지만 rnd()
기능 다소 재창조되는 휠. .NET의 GUID
클래스를 사용하여 많은 임의성을 생성 할 수 있습니다.
$xml.SelectSingleNode('//Data[@key="serial"]/text()').data = [guid]::NewGuid()
먼저 XML을 편집 할 수있는 명령 줄 도구를 찾아야합니다. 배치 스크립트를 사용하여 파일을 편집하지 않고 가능한 프로그램에 명령을 호출합니다. –
괜찮습니다. 나는 –
배치를 사용하여 .TXT 파일을 편집 할 수 있기 때문에 확신하지 못했습니다. _can_,하지만 엄청나게 어렵습니다. 물론,이 질문에 대한 질문은 여기서 멈추지 않습니다. [모두] (http://stackoverflow.com/questions/1946717/edit-xml-with-batch-file) [the] (http : // stackoverflow. com/questions/24584289/editing-xml-with-bat) [시간] (http://stackoverflow.com/questions/5298293/batch-file-code-to-edit-a-string-between-strings-in- a-dtsconfig-xml-file). – SomethingDark