Findstr nur erste Fund
Hallo Leute
Ich habe ein Problem bei dem ich nicht weiterkommen. Ich habe 2 CSV Dateien. Eine in der alle meine Mitgliedernummern (aktive) stehen und eine mit den Mitgliedernummern und weiteren Daten (alledaten).
mit dem batch bekomme ich alle Mitglieder in eine neue csv die noch aktiv sind. Leider sind in der alledaten.csv die Mitglieder aber teilweise mehrfach drin. Wie kann ich mit findstr mir nur den ersten Fund einer Mitgliedsnummer in die neue Datei schreiben lassen?
Ich habe ein Problem bei dem ich nicht weiterkommen. Ich habe 2 CSV Dateien. Eine in der alle meine Mitgliedernummern (aktive) stehen und eine mit den Mitgliedernummern und weiteren Daten (alledaten).
set "quellordner=C:\club\"
set "zielordner=C:\club\user\"
pushd "%quellordner%"
findstr /ig:"aktive.csv" "alledaten.csv" >"%Zielordner%\fertig.csv"
mit dem batch bekomme ich alle Mitglieder in eine neue csv die noch aktiv sind. Leider sind in der alledaten.csv die Mitglieder aber teilweise mehrfach drin. Wie kann ich mit findstr mir nur den ersten Fund einer Mitgliedsnummer in die neue Datei schreiben lassen?
Please also mark the comments that contributed to the solution of the article
Content-Key: 487545
Url: https://administrator.de/contentid/487545
Printed on: April 26, 2024 at 13:04 o'clock
10 Comments
Latest comment
ich habe keine Lust auf Ratespielchen*. Ich bin hier raus.
Moin moin,
Mit PowerShell ist das einfacher und genereller lösbar.
Aus diesen Anfangsdaten (nur die Spalte MitgliedsNummer muss übereinstimmen)
Erzeugt dieses Script:
Diese Ausgabedatei:
Mit PowerShell ist das einfacher und genereller lösbar.
Aus diesen Anfangsdaten (nur die Spalte MitgliedsNummer muss übereinstimmen)
C:\Club\alledaten.csv | C:\Club\aktive.csv
------------------------+-------------------
MitgliedsNummer,Daten | MitgliedsNummer
1,Daten1 | 1
2,Daten2 |
2,Daten2-2 |
3,Daten3 | 3
3,Daten3-2 |
4,Daten4 |
4,Daten4-2 |
5,Daten5 | 5
5,Daten5-2 |
6,Daten6 |
6,Daten6-2 |
7,Daten7 | 7
7,Daten7-2 |
Erzeugt dieses Script:
## Q:\Test\2019\08\22\AD_487545.ps1
$SrcDir = 'C:\Club\'
$DstDir = 'C:\Club\User\'
MD $DstDir -EA 0| Out-Null
$UserAct = Import-Csv -Path (Join-Path $SrcDir 'aktive.csv')
$UserAll = Import-Csv -Path (Join-Path $SrcDir 'alledaten.csv') |
Group-Object MitgliedsNummer | ForEach-Object{$_.Group|Select -First 1}
Compare-Object -Ref $UserAll -Diff $UserAct -Property MitgliedsNummer `
-PassThru -IncludeEqual -ExcludeDifferent |
Select-Object * -Exclude SideIndicator |
Export-Csv -Path (Join-Path $DstDir 'fertig.csv') -NoTypeInformation
Diese Ausgabedatei:
> Get-Content C:\club\User\fertig.csv
"MitgliedsNummer","Daten"
"1","Daten1"
"3","Daten3"
"5","Daten5"
"7","Daten7"
Zitat von @stefanfen:
Klappt supoer aber bei mir wird das die erste Zeile der Aktive Liste verwendet. Dana ist ende.
Klappt supoer aber bei mir wird das die erste Zeile der Aktive Liste verwendet. Dana ist ende.
In der Kürze und ohne Details verstehe ich nicht was du meinst.
Gruß
LotPings
Moin moin,
langsam kann ich Kraemer verstehen,
ich liefere ein detailliertes Sript basierend auf deinen Daten und
zurück kommt von dir eine sehr kurze Antwort mit anderen Details.
Aus Mitgliedernummer wurde eine Kundennummer von der ich nicht weiß wie du das umgesetzt hast,
denn beim Umsetzen hapert es ja offensichtlich.
Gruß
LotPings
langsam kann ich Kraemer verstehen,
ich liefere ein detailliertes Sript basierend auf deinen Daten und
zurück kommt von dir eine sehr kurze Antwort mit anderen Details.
Aus Mitgliedernummer wurde eine Kundennummer von der ich nicht weiß wie du das umgesetzt hast,
denn beim Umsetzen hapert es ja offensichtlich.
Gruß
LotPings