Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 删除变量中最多第四个冒号的更快方法?分号_Powershell_Msmq - Fatal编程技术网

Powershell 删除变量中最多第四个冒号的更快方法?分号

Powershell 删除变量中最多第四个冒号的更快方法?分号,powershell,msmq,Powershell,Msmq,我尝试使用Powershell查询MSMQ,然后从BodyStream中读取(在我的例子中)XML。在XML变慢之前剥离垃圾。。。每个记录大约200-500毫秒 从XML中提取出来似乎很快就可以了(见下文),但替换需要花费很长时间 $msmq = Get-MsmqQueue -Name "myqueuelovesme" $var = Receive-MsmqQueue -input $msmq -Peek -Count 500 -Timeout 5000 -RetrieveBody | fore

我尝试使用Powershell查询MSMQ,然后从BodyStream中读取(在我的例子中)XML。在XML变慢之前剥离垃圾。。。每个记录大约200-500毫秒

从XML中提取出来似乎很快就可以了(见下文),但替换需要花费很长时间

$msmq = Get-MsmqQueue -Name "myqueuelovesme"
$var = Receive-MsmqQueue -input $msmq -Peek -Count 500 -Timeout 5000 -RetrieveBody | foreach {
$sr = $_.BodyStream.ToArray()
$pr = $enc.GetString($sr)
[xml]$clean= $pr -creplace ".*:Message:"
select-xml -xml $clean -XPath "/MyXML/Defin" | foreach {$_.node}
}
$var
bodystream的内容如下所示:

F:01.02.03:1234567890:Message:<MyXML><Defin xmlns:dsi="http:// [...]

F:01.02.03:1234567890:Message:。不知道哪一个最好。我会试着添加一些。当然,其他解决方案也会出现。你说你认为你不能很好地分开/加入。。。。该死

'F:01.02.03:1234567890:Message:<MyXML><Defin xmlns:dsi="http:// [...]'.Split(":",5)[-1]

你也可以在我想象的第一个
吨选项上进行拆分。不知道哪一个最好。我会试着添加一些。当然,其他解决方案也会出现。你说你认为你不能很好地分开/加入。。。。该死

'F:01.02.03:1234567890:Message:<MyXML><Defin xmlns:dsi="http:// [...]'.Split(":",5)[-1]
您也可以在第一个
上拆分,这是如何执行的

$clean = [xml]$pr.Substring($pr.IndexOf('<'))
$clean=[xml]$pr.Substring($pr.IndexOf(“这是如何执行的

$clean = [xml]$pr.Substring($pr.IndexOf('<'))

$clean=[xml]$pr.Substring($pr.IndexOf)(“@swonkie先测试这个:旧时间,18.24秒。新时间,1.5秒。天哪!谢谢!事实上,我用秒表是愚蠢的。50条信息:旧时间,17.323秒。新时间,.861秒。每个子串现在都在3毫秒以下。天哪!谢谢!@swonkie先测试这个:旧时间,18.24秒。新时间,1.5秒。天哪!谢谢!事实上,我用秒表是愚蠢的。50条信息:旧时间,17.323秒。新时间,.861秒。每个子串现在都在3毫秒以下。天哪!谢谢!测试了这些。50。旧时间,17.323。第一个选项,尝试了两次:.965和.864。第二个选项:.932和.930。感谢你们两位,让马特投票因为有更多关于它在做什么的解释。测试了这些。50。旧时间,17.323。第一个选项,尝试了两次:.965和.864。第二个选项:.932和.930。感谢你们两个-给Matt投票,因为有更多关于它在做什么的解释。