107 lines
5.8 KiB
PowerShell
107 lines
5.8 KiB
PowerShell
Write-Host $(Get-Date -Format "HH:mm:ss")
|
|
<#
|
|
$Excel = New-Object -ComObject Excel.Application
|
|
$EDatei = $Excel.WorkBooks.Open("R:\m.kraft\Excel Werte ändern\Excel-Datei.xlsx")
|
|
$EBlatt = $EDatei.WorkSheets.item(1)
|
|
$Excel.Visible = $false
|
|
#>
|
|
|
|
$Pfad = "R:\m.kraft\Excel Werte ändern\EA_Krüger_19.03.2020.txt"
|
|
$i = 1
|
|
|
|
$DIs = @()
|
|
$DQs = @()
|
|
$Fehler = @()
|
|
|
|
|
|
$Datei = Get-Content $Pfad
|
|
|
|
$ZuDI = @(„DI“, „BA“, „BB“, „BC“, „BD“, „BE“, „BF“, „BG“, „BH“, „BJ“, „BK“, „BL“, „BM“, „BN“, „BP“, „BQ“, „BR“, „BS“, „BT“, „BU“, „BV“, „BW“, „BX“, „BY“, „BZ“, „FA“, „FB“, „FC“, „FD“, „FE“, „FF“, „FG“, „FH“, „FJ“, „FK“, „FL“, „FM“, „FN“, „FP“, „FQ“, „FR“, „FS“, „FT“, „FU“, „FV“, „FW“, „FX“, „FY“, „FZ“, „SA“, „SB“, „SC“, „SD“, „SE“, „SF“, „SG“, „SH“, „SJ“, „SK“, „SL“, „SM“, „SN“, „SP“, „SQ“, „SR“, „SS“, „ST“, „SU“, „SV“, „SW“, „SX“, „SY“, „SZ“)
|
|
$ZuDQ = @(„DQ“, „CA“, „CB“, „CC“, „CD“, „CE“, „CF“, „CG“, „CH“, „CJ“, „CK“, „CL“, „CM“, „CN“, „CP“, „CQ“, „CR“, „CS“, „CT“, „CU“, „CV“, „CW“, „CX“, „CY“, „CZ“, „EA“, „EB“, „EC“, „ED“, „EE“, „EF“, „EG“, „EH“, „EJ“, „EK“, „EL“, „EM“, „EN“, „EP“, „EQ“, „ER“, „ES“, „ET“, „EU“, „EV“, „EW“, „EX“, „EY“, „EZ“, „GA“, „GB“, „GC“, „GD“, „GE“, „GF“, „GG“, „GH“, „GJ“, „GK“, „GL“, „GM“, „GN“, „GP“, „GQ“, „GR“, „GS“, „GT“, „GU“, „GV“, „GW“, „GX“, „GY“, „GZ“, „HA“, „HB“, „HC“, „HD“, „HE“, „HF“, „HG“, „HH“, „HJ“, „HK“, „HL“, „HM“, „HN“, „HP“, „HQ“, „HR“, „HS“, „HT“, „HU“, „HV“, „HW“, „HX“, „HY“, „HZ“, „KA“, „KB“, „KC“, „KD“, „KE“, „KF“, „KG“, „KH“, „KJ“, „KK“, „KL“, „KM“, „KN“, „KP“, „KQ“, „KR“, „KS“, „KT“, „KU“, „KV“, „KW“, „KX“, „KY“, „KZ“, „MA“, „MB“, „MC“, „MD“, „ME“, „MF“, „MG“, „MH“, „MJ“, „MK“, „ML“, „MM“, „MN“, „MP“, „MQ“, „MR“, „MQ“, „MR“, „MS“, „MT“, „MU“, „MV“, „MW“, „MX“, „MY“, „MZ“, „PA“, „PB“, „PC“, „PD“, „PE“, „PF“, „PG“, „PH“, „PJ“, „PK“, „PL“, „PM“, „PN“, „PP“, „PQ“, „PR“, „PS“, „PT“, „PU“, „PV“, „PW“, „PX“, „PY“, „PZ“, „QA“, „QB“, „QC“, „QD“, „QE“, „QF“, „QG“, „QH“, „QJ“, „QK“, „QL“, „QM“, „QN“, „QP“, „QQ“, „QR“, „QS“, „QT“, „QU“, „QV“, „QW“, „QX“, „QY“, „QZ“, „RA“, „RB“, „RC“, „RD“, „RE“, „RF“, „RG“, „RH“, „RJ“, „RK“, „RL“, „RM“, „RN“, „RP“, „RQ“, „RR“, „RS“, „RT“, „RU“, „RV“, „RW“, „RX“, „RY“, „RZ“, „TA“, „TB“, „TC“, „TD“, „TE“, „TF“, „TG“, „TH“, „TJ“, „TK“, „TL“, „TM“, „TN“, „TP“, „TQ“, „TR“, „TS“, „TT“, „TU“, „TV“, „TW“, „TX“, „TY“, „TZ“)
|
|
|
|
foreach ($Eintrag in $Datei)
|
|
{
|
|
$Eintragszeile = $Eintrag.split("'")
|
|
<#Write-Host "Gesamter eintrag " $Eintragszeile
|
|
Write-Host "Eintrag 1 " $Eintragszeile[0]
|
|
Write-Host "Eintrag 2 " $Eintragszeile[1]
|
|
Write-Host "Eintrag 3 " $Eintragszeile[2]
|
|
Write-Host "Eintrag 4 " $Eintragszeile[3]#>
|
|
$EAZahl = $Eintragszeile[1]
|
|
$EAKommentar = $Eintragszeile[3]
|
|
|
|
$EAZahl = $EAZahl.TrimStart("'")
|
|
#$EAZahl = $EAZahl.TrimEnd("'")
|
|
#$EAKommentar = $EAKommentar.TrimStart("'")
|
|
$EAKommentar = $EAKommentar.TrimEnd("'")
|
|
|
|
if ($($($EAZahl.Substring(0,2)) -in $ZuDI))
|
|
{
|
|
$EAZahl = $EAZahl -replace("[a-zA-Z]", "")
|
|
$LaengeEAZahl = $($EAZahl.Length - 1)
|
|
$EAZahl = $EAZahl.Substring(0,$LaengeEAZahl) + "." + $EAZahl.Substring($LaengeEAZahl)
|
|
$EAZahl = "DI" + $EAZahl
|
|
$DIs += @([pscustomobject]@{Name=$EAZahl;Zeile=$i})
|
|
}
|
|
elseif ($($($EAZahl.Substring(0,2)) -in $ZuDQ))
|
|
{
|
|
$EAZahl = $EAZahl -replace("[a-zA-Z]", "")
|
|
$LaengeEAZahl = $($EAZahl.Length - 1)
|
|
$EAZahl = $EAZahl.Substring(0,$LaengeEAZahl) + "." + $EAZahl.Substring($LaengeEAZahl)
|
|
$EAZahl = "DQ" + $EAZahl
|
|
$DQs += @([pscustomobject]@{Name=$EAZahl;Zeile=$i})
|
|
}
|
|
else
|
|
{
|
|
Write-Host "Achtung, Fehler bei $EAZahl $EAKommentar"
|
|
$Fehler += @([pscustomobject]@{Name=$EAZahl;Zeile=$i})
|
|
#fehler
|
|
}
|
|
|
|
#Write-Host $EAZahl
|
|
#Write-Host $EAKommentar
|
|
|
|
#$EBlatt.Cells.Item($i,1) = $EAZahl
|
|
#$EBlatt.Cells.Item($i,2) = $EAKommentar
|
|
|
|
$i++
|
|
}
|
|
|
|
#$EDatei.Save()
|
|
#$Excel.Quit()
|
|
|
|
$DIs = $DIs | Sort-Object "Name"
|
|
$Gleiche = @()
|
|
|
|
for ($j = 0; $j -lt $($DIs.Count -1); $j++)
|
|
{
|
|
$IstGleich = $($DIs[$j].Name -eq $DIs[$($j+1)].Name)
|
|
if ( $IstGleich )
|
|
{
|
|
#Eintrag hinzufügen
|
|
if ( -not $($Gleiche[-1].Zeile -eq $DIs[$j].Zeile))
|
|
{
|
|
$Gleiche += $DIs[$j]
|
|
}
|
|
$Gleiche += $DIs[$($j +1)]
|
|
Write-Host "Gleiche: " $Gleiche
|
|
}
|
|
}
|
|
|
|
# $Gleiche = $Gleiche.Zeile | select -Unique
|
|
|
|
if ($($Gleiche.Length) -gt 0)
|
|
{
|
|
Write-Host "Folgende Eingänge sind doppelt belegt"
|
|
Write-Host "Eingang Zeile (Excel)"
|
|
foreach ($Gleich in $Gleiche)
|
|
{
|
|
Write-Host $Gleich.Name " " $Gleich.Zeile
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Write-Host "Es gibt keine doppelt belegten Eingänge!"
|
|
}
|
|
|
|
Write-Host $(Get-Date -Format "HH:mm:ss") |