63 lines
2.9 KiB
PowerShell
63 lines
2.9 KiB
PowerShell
$SPSAnschluesse = @([PSCustomObject]@{
|
|
Name = "E100.5"
|
|
Kommentar = "Kommentar E100.5"
|
|
Zeile = "5"
|
|
})
|
|
$SPSAnschluesse += @([PSCustomObject]@{
|
|
Name = "E200.0"
|
|
Kommentar = "Kommentar E200.0"
|
|
Zeile = "7"
|
|
})
|
|
$SPSAnschluesse += @([PSCustomObject]@{
|
|
Name = "E100.0"
|
|
Kommentar = "Kommentar 100.0"
|
|
Zeile = "4"
|
|
})
|
|
|
|
Clear-Variable SPSFehlendeAnschluesse
|
|
|
|
#Schleife fuer SPS
|
|
$SPSAnschluesse = $SPSAnschluesse | Sort-Object "Name"
|
|
Write-Host "Uebergebene SPS-Anschluesse: " $SPSAnschluesse
|
|
foreach ($SPSAnschluss in $SPSAnschluesse) {
|
|
# $SPSSubAnschlussLetzteStelle = @()
|
|
Write-Host "Aktueller SPS-Anschluss: " $SPSAnschluss.Name
|
|
#Write-Host "Laenge SPSAnschluss: " $SPSAnschluss.Name.Length
|
|
$SPSAnschlussBauteil = $SPSAnschluss.Name.Substring(0,$SPSAnschluss.Name.Length - 2)
|
|
Clear-Variable SPSFehlendeAnschluesse
|
|
$SollAnschluesse = @(0,1,2,3,4,5,6,7)
|
|
foreach ($SPSSubAnschluss in $SPSAnschluesse) {
|
|
Write-Host "Aktueller Sub-Anschluss: " $SPSSubAnschluss.Name
|
|
$SPSSubAnschlussBauteil = $SPSSubAnschluss.Name.Substring(0,$SPSSubAnschluss.Name.Length - 2)
|
|
if ($SPSSubAnschlussBauteil -eq $SPSAnschlussBauteil) {
|
|
Write-Host "Fall eingetreten: Vorletzte Stelle von SPS und SubSPS sind gleich"
|
|
$SPSSubAnschlussLetzteStelle = $($SPSSubAnschluss.Name).Substring($SPSSubAnschluss.Name.Length - 1,1)
|
|
Write-Host "Inhalt von SPSSubAnschlussLetzteStelle: " $SPSSubAnschlussLetzteStelle
|
|
Write-Host "Alte SollAnschluesse: " $SollAnschluesse
|
|
$SollAnschluesse = $SollAnschluesse | Where-Object {$_ -ne $SPSSubAnschlussLetzteStelle}
|
|
Write-Host "Neue SollAnschluesse: " $SollAnschluesse
|
|
}
|
|
}
|
|
|
|
Write-Host "Uebergebene fehlende Anschluesse: " $SollAnschluesse
|
|
foreach ($FehlendenAnschluss in $SollAnschluesse) {
|
|
Write-Host "Aktuell fehlender Anschluss: " $FehlendenAnschluss
|
|
$SPSName = $SPSAnschluss.Name
|
|
$BMKZahl = $($($SPSName.Substring(0,$SPSName.Length - 1)) + $FehlendenAnschluss)
|
|
$SPSAnschluesse += @([PSCustomObject]@{
|
|
Name = $BMKZahl
|
|
Kommentar = ""
|
|
#Zeile = "" wird nich gebraucht, da hier keine Duplikate auftreten koennen. Ausserdem gibt es ohnehin keine zugehoerige Zeile in der UrsprungsDatei
|
|
})
|
|
Write-Host "Neue SPSAnschluesse: " $SPSAnschluesse
|
|
}
|
|
}
|
|
|
|
$SPSAnschluesse = $SPSAnschluesse | Sort-Object "Name"
|
|
Write-Host "Neue SPSAnschluesse sortiert: " $SPSAnschluesse
|
|
Write-Host ""
|
|
Write-Host ""
|
|
Write-Host "------------------------------------------------------------------------------------------------------------------------------------------------------------"
|
|
Write-Host ""
|
|
Write-Host ""
|