【发布时间】:2020-12-29 13:51:32
【问题描述】:
我有 2 个数组。我想映射数组然后获取数组的对象并将其用于重命名文件。 我试过这个。但是文件名不正确,因为它应该是数组的对象。
这是我得到一些信息的xml格式。
<?xml version="1.0" encoding="UTF-8"?>
<assign>
<define>
<systemid value="8537">
<description crm="AE/PR" priority="0"/>
<description crm="S1/W1/W2/ZH" priority="2"/>
<description crm="AP" priority="3"/>
</systemid>
</define>
</assign>
$CRMs = @("AE", "S1", "AP")
foreach ($c in $CRMs)
{
$priority = $JobSequence.jobassignseq.userdefineseq.systemid | Where-Object {$_.value -like "*$SSID*"} |
Select-Object -ExpandProperty description | Where-Object {$_.crm -like "*$c*"} | Select-Object -ExpandProperty priority
Write-Host "Prio $priority"
$check = $JobSequence.jobassignseq.userdefineseq.systemid |
Where-Object {$_.value -like "*$SSID*"} | Select-Object -ExpandProperty description |
Select-Object priority, crm | Where-Object {$_.priority -eq "$priority"} | Select-Object -ExpandProperty crm
$C1 = $check | ForEach-Object {$_ -split "/"}
Write-Host "CRM: $C1"
$Job = (Get-ChildItem $PathOp\$Image\*.job)
$C1 | ForEach-Object {
for ($i = 0; $i -lt $C1.count; $i++) {
$Job[$i] | Rename-Item -NewName {("$priority")[$i] + "`_$Date`_" + $_.Name.Replace('.job','.que')}
}
}
}
我的期望是优先级0 应该分配给带有 crm AE 或 PR 的文件,优先级 2 应该分配给带有 crm S1 或 W1 或 W2 或 ZH 的文件,优先级 3 应该分配给带有CRM AP。
任何人都可以帮助我,非常感谢。非常感谢
【问题讨论】:
标签: arrays powershell multidimensional-array rename file-rename