Benutzer mit den meisten Antworten
Powershell bestimmte Zeile aus CSV Datei löschen

Frage
-
Hallo zusammen,
ich stehe vor folgendem Problem.Nach dem Import einer CSV Datei möchte ich bestimmte Zeilen löschen und die Datei dann speichern und schließen.
Es geht im Prinzip darum, an einem Stichtag aktionen auszuführen und die Parameter danach aus der Zeile zu löschen.
Ein Auszug aus meinem Skript:
$Benutzer = Import-Csv $Skriptpfad\Benutzer.csv -Delimiter ';' ForEach ($User in $Benutzer) { $Benutzername = $User.Benutzer $Datum = $User.Datum $aktualdate = Get-Date -Format d.M.yyyy if ($Datum -lt $aktualdate) { #Hier folgen die Aktionen
Und nun soll die SCV Datei ohne die soeben ausgeführte Zeile gespeichert werden.
Könnt ihr mir hier helfen?
Viele Grüße
Tim
Antworten
-
Also ungefähr so:
$Users = Import-Csv $Skriptpfad\Benutzer.csv -Delimiter ';' ForEach ($User in $Users){ if ((Get-Date $User.Datum) -lt (Get-Date)){ #Hier folgen die Aktionen } Else{ Write-Output $User } } | Export-CSV $Skriptpfad\Benutzer.csv -Delimiter ';' -NoTypeInformation
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join''
- Bearbeitet BOfH-666 Mittwoch, 25. Januar 2017 10:40
- Als Antwort markiert Timson_Hamburg Mittwoch, 25. Januar 2017 11:55
Alle Antworten
-
Dreh doch die "Logik" einfach um. Statt if( tralala ) { tu etwas} nimmst Du if(-not ( tralala )) { tu tu etwas }. Und als "tu etwas" gibst Du einfach das aktuelle Object aus und pipe-st das ganze hinten wieder in die CSV-Datei.
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join''- Bearbeitet BOfH-666 Mittwoch, 25. Januar 2017 09:37
-
Entweder habe ich mich wieder einmal nicht gut genug ausgedrückt oder ich stehe auf dem Schlauch.
Das Skript soll ja alle bis zu dem aktuellen Datum aufgeführten Benutzer entsprechend manipulieren.
Im Anschluß soll die CSV Datei ohne diese Zeilen gespeichert werden.
Viele Grüße
Tim
-
Also ungefähr so:
$Users = Import-Csv $Skriptpfad\Benutzer.csv -Delimiter ';' ForEach ($User in $Users){ if ((Get-Date $User.Datum) -lt (Get-Date)){ #Hier folgen die Aktionen } Else{ Write-Output $User } } | Export-CSV $Skriptpfad\Benutzer.csv -Delimiter ';' -NoTypeInformation
Grüße - Best regards
PS:> (79,108,97,102|%{[char]$_})-join''
- Bearbeitet BOfH-666 Mittwoch, 25. Januar 2017 10:40
- Als Antwort markiert Timson_Hamburg Mittwoch, 25. Januar 2017 11:55