Files
IO-Konvertierer/Test-Skripte/Skript18.ps1
T
2023-06-13 15:37:11 +02:00

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 ""