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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 487545
Url: https://administrator.de/forum/findstr-nur-erste-fund-487545.html
Ausgedruckt am: 17.04.2025 um 03:04 Uhr
10 Kommentare
Neuester Kommentar
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