Как заменить XML значений в PowerShell - PullRequest
0 голосов
/ 18 марта 2020

В общей сложности 10000 строк, 5000 строк остановят l oop, почему он прерван , Он не возвращает ошибок

[xml]$f=gc "$PSscriptroot/System.Management.Automation.xml"

$file="$PSscriptroot/paramen.txt"
$file=get-item $file
$canfile=join-path -path $file.Directoryname -ChildPath $file.name.replace('en.','cn.')

$en=gc $file
$cn=gc $canfile
$ass=$f.SelectNodes("//$($file.name.replace('en.txt',''))")

$zex=0
foreach($as in $ass){
write-verbose "file: $file"
$leng=$as.InnerXml -replace '^[ \r\n]+|[ \r\n]+$'
$zhong=$leng -replace '[\r\n]+' -replace '[ ]{4,}',' '
$start=($as.InnerXml |select-string -pattern '^[ \r\n]+').matches.value
$end=($as.InnerXml |select-string -pattern '[ \r\n]+$').matches.value
$length=($leng -split '\n' -replace '[ ]{4,}',' '|sort-object -Bottom 1 {$_.length}).length
$kongge=($leng |select-string -pattern '[ ]{5,}').matches.value

for($i=0;$I -lt $en.length;$i++){
if($zhong -and ($zhong -eq $en[$i])){
#$cn1=kuandu -value $cn[$i] -length $length -kongge $kongge

try{
$as.Innertext=$start+$cn[$i]+$end
#$as
}catch{
[PScustomobject]@{
en=$en[$i]
cn=$cn[$i]
}
#$_
}

}

}
$zex
if($zex -gt 6300){
$zex;
$as.Innerxml
#break
#$f.SelectNodes("//$($file.name.replace('en.txt',''))")[$zex].Innerxml
}
$zex++
}

После запроса я получил 12000 строк

[ DBG]: PS /System.Management.Automation.xml >> $ ass.count
11218

6329                                                            
<param name="name">远程运行空间会话的友好名称.</param> <param name="id">远程运行空间的ID.</param>服务器 可以在<see cref="P:System.Management.Automation.Remoting.PSSenderInfo.ApplicationArguments" />                            
6330                                                                                                    远程运行空间会话的友好名称.                                     
PS / >

Файл: https://1drv.ms/f/s! AtftJLuuzIqngqg598UpNi1x5YJ8bQ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...