gelöst Powershell Skript Datei mit bestimmten Inhalt finden und dann Datei löschen

Mitglied: AlexFM

AlexFM (Level 1) - Jetzt verbinden

21.10.2020 um 13:53 Uhr, 785 Aufrufe, 21 Kommentare, 3 Danke

Hallo Mitnander,

Ich versuche vergeblich mit der Powershell Dateien zu löschen die einen bestimmten Textinhalt haben..
Mein bisheriges Script:

If (Get-childitem "PFAD\*" | select-string -pattern 'Datei wurde fehlerfrei verarbeitet','Die Datei konnte ohne Kernprüffehler verarbeitet werden')
{
Remove-Item -Path "PFAD"\*

}

Natürlich wird der gesmate Inhalt des Ordners gelöscht. Weis jemand wie ich nur die Dateien lösche die den angegebenen String enthalten?
Mitglied: emeriks
21.10.2020 um 14:17 Uhr
Hi,
das wird so nicht funktionieren.
Du willst doch sicherlich folgendes umsetzen:
1. alle Dateien auflisten
2. für jede:
a) Einlesen
b) Treffer suchen
c) wenn Treffer-Anzahl > 0, dann Datei löschen

Führe doch einfach mal nur das aus:
und schau Dir das Ergebnis an. Und dann überlege mal, warum das "IF" damit nicht funktioniert.

Außerdem
ist eine von allem anderen vollkommen unabhängige Anweisung, alle Dateien im "PFAD" zu löschen. Da musst Du Dich nicht wundern.

E.
Bitte warten ..
Mitglied: AlexFM
21.10.2020 um 14:38 Uhr
Hi Emirks,

Get-childitem "PFAD\*" | select-string -pattern 'Datei wurde fehlerfrei verarbeitet','Die Datei konnte ohne Kernprüffehler verarbeitet werden'

Die Dateien werden mir folgend angezeigt:

C:\PFAD\TESTZIEL\Neues Textdokumen2t:4:Die Datei konnte ohne Kernprüffehler verarbeitet werden
C:\PFAD\TESTZIEL\Neues Textdokument:3:Datei wurde fehlerfrei verarbeitet

Nur wie kann ich diese Datein dann auch löschen?
Bin noch nicht sehr lange in diesem Beruf, daher sorry das ich die Syntax nicht hundert prozentig verstehe

Und danke schonmal für deine Rückmeldung
Bitte warten ..
Mitglied: AlexFM
21.10.2020 um 15:00 Uhr
Danke für den Link, konnte nur leider kein Ergenis mit den Vorschlägen der Seite erzielen...
Bitte warten ..
Mitglied: emeriks
21.10.2020 um 15:39 Uhr
Zitat von AlexFM:
Danke für den Link, konnte nur leider kein Ergenis mit den Vorschlägen der Seite erzielen...
Wirklich nicht?!
... liefert Dir die Pfade der gefundenen Dateien. Oder nicht?
Hinten dran ein ForEach und fertig.
Bitte warten ..
Mitglied: emeriks
21.10.2020 um 15:41 Uhr
Sind das Unicode- oder ASCII-Dateien?
Bitte warten ..
Mitglied: AlexFM
21.10.2020 um 15:50 Uhr
Get-ChildItem PFAD | Select-String 'Datei wurde fehlerfrei verarbeitet','Die Datei konnte ohne Kernprüffehler verarbeitet werden' -List | Select Path

Gibt aus:

C:\Pfad\TESTZIEL\Neues Textdokumen2t
C:\Pfad\TESTZIEL\Neues Textdokument

Das ist der Pfad mit Dateinamen, richtig.

Und nun?

Beide Dateien müssen aber noch gelöscht werden...

Das finden und ausgeben hab ich schon auf bestimmt fünf verschiedenen wegen hinbekommen nur leider nicht das die gefundenen Datein gelöscht werden
Bitte warten ..
Mitglied: AlexFM
21.10.2020 um 16:04 Uhr
Unicode
Bitte warten ..
Mitglied: Daemmerung
21.10.2020, aktualisiert um 17:54 Uhr
Jetzt hängst du da noch ein
dran. Ist nicht getestet und beachte bitte, dass du dann auch löschst. Teste es also mit Testdateien, vor allem dann, wenn du neu in dem Bereich bist.

Viele Grüße
Daemmerung
Bitte warten ..
Mitglied: AlexFM
22.10.2020, aktualisiert um 08:57 Uhr
Moin Daemmerung,

Habe deine Syntax beigefügt.

Gesamte Syntax:

Get-childitem "C:\Pfad\TESTZIEL\*" | select-string "Datei wurde fehlerfrei verarbeitet","Die Datei konnte ohne Kernprüffehler verarbeitet werden" -List | Select Path | Foreach {Remove-Item -Path $_ -force}

Fehlermeldung:

Remove-Item : Das Laufwerk wurde nicht gefunden. Ein Laufwerk mit dem Namen "@{Path=C" ist nicht vorhanden.
In C:\Users\Benutzer\Desktop\Unbenannt5.ps1:1 Zeichen:182

... t werden" -List | Select Path | Foreach {Remove-Item -Path $_ -force}

~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : ObjectNotFound: (@{Path=C:String) [Remove-Item], DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Jetzt bin ich komplett verwirrt..
Bitte warten ..
Mitglied: emeriks
LÖSUNG 22.10.2020, aktualisiert um 09:07 Uhr
Benutze doch bitte Code-Tags!

Korrekt muss es lauten:
Beachte das "$_.Path" im letzten Befehl.
Bitte warten ..
Mitglied: AlexFM
22.10.2020 um 09:07 Uhr
das bringt auch keine Veränderung
Bitte warten ..
Mitglied: AlexFM
22.10.2020 um 09:09 Uhr
Bester

Vielen Dank für deine (eure) Hilfe.

Einen schönen Tag euch
Bitte warten ..
Mitglied: emeriks
22.10.2020 um 09:09 Uhr
Zitat von AlexFM:
das bringt auch keine Veränderung
???
Bitte warten ..
Mitglied: AlexFM
22.10.2020 um 09:17 Uhr
doch doch, hat gepasst. Vielen Danke
Bitte warten ..
Mitglied: AlexFM
22.10.2020 um 10:06 Uhr
Eine Frage hab ich dann doch noch :D

Er selektiert jetzt nur die Dateien mit Unix(LF) die (CRLF) nicht.

Gibt es eine Syntax die sagt das er alle Sortierungen nehmen soll?
Oder zumindest eine wo gesagt wird das auch Dateien mit (CRLF) berücksichtigt werden sollen?

Gruß Alex
Bitte warten ..
Mitglied: emeriks
LÖSUNG 22.10.2020 um 10:26 Uhr
Hier ist Select-String erklärt:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...

Da gibt es einen Parameter "-Encoding". Damit experimentieren.
Bitte warten ..
Mitglied: AlexFM
22.10.2020 um 12:05 Uhr
bekomme es nicht gebacken ...

Glaube die Dateien im Zielordner alle in Unix LF zu konvertieren wäre geschickter...

Hätte da jemand eine Syntax für ?
Bitte warten ..
Mitglied: emeriks
22.10.2020 um 12:20 Uhr
Zitat von AlexFM:
bekomme es nicht gebacken ...
Was nicht?
Bitte warten ..
Mitglied: AlexFM
22.10.2020 um 12:57 Uhr
die konvertierung
Bitte warten ..
Mitglied: AlexFM
22.10.2020 um 13:18 Uhr
Hat hiermit geklappt:

Get-ChildItem C:\PFAD\Fehlerhafte_Meldungen\* | ForEach-Object { (Get-Content $_) | Out-File -Encoding UTF8 $_ }

Vielen Dank für die Unterstützung
Bitte warten ..
Heiß diskutierte Inhalte
LAN, WAN, Wireless
Externes Ziel nicht erreichbar vom internen Netzwerk
Stibe88FrageLAN, WAN, Wireless16 Kommentare

Hallo Community Ich habe bei mir Homematic IP installiert. Nun kann ich seit 4 Tagen mich nicht mehr in ...

Hardware
Genauigkeit DCF77
Der-PhilFrageHardware12 Kommentare

Hallo! Es geht hier eher um eine akademische Frage, denn um eine Notwendigkeit für die IT, aber vielleicht interessiert ...

Windows Server
Fehler beim Starten Gruppenrichlinien
gelöst OSelbeckFrageWindows Server11 Kommentare

Hi, seid kurzen habe ich (Ich glaube nach einem Update bzw. Erweiterung der GPO Dateien) folgende Meldung Was köönet ...

Datenbanken
SQL Datum Uhrzeit 2 Spalten
Florian86FrageDatenbanken11 Kommentare

Hallo Zusammen, ich möchte aus einer SAP Datenbank über Datum und Zeit Daten abfragen. Datum und Zeit sind aber ...

Hardware
Neue Hard- und Software für kleine Kanzlei mit RA-Micro
SchrumpfiFrageHardware10 Kommentare

Hallo zusammen, ich lese schon länger im Forum mit und konnte so einige Probleme durch eure Hilfe lösen, dafür ...

Batch & Shell
Zeichen suchen und in die nächste Zeile was kopieren
Klaus20FrageBatch & Shell10 Kommentare

Hallo Forum, hätte mal wieder eine Frage an die Batch Profis. Habe mir mehrere Playlisten erstellt und die immer ...

Ähnliche Inhalte
Windows Server

PowerShell Inhalt einer csv Datei löschen

gelöst makaroniFrageWindows Server4 Kommentare

Hallo zusammen, ich möchter gerne automatisiert über einen Task alle 10 Min eine CSV Datei via Powershell einlesen und ...

Batch & Shell

Powershell Skript für Reg Datei ändern

gelöst SoccerdeluxFrageBatch & Shell16 Kommentare

Hallo zusammen, ich muss auf einem Windows 10 Pc ein Skript ausführen lassen was sich alle 5 Minuten wiederholt. ...

Batch & Shell

Mail aus Skript übernimmt keinen inhalt aus Datei

gelöst D1Ck3nFrageBatch & Shell5 Kommentare

Hallo zusammen, Ausgangspunkt: ich überarbeite momentan ein Shell-Skript welches per rsynch Verzeichnisse von einem Mount Point in einen Anderen ...

Batch & Shell

Powershell Skript fehlerhaft?

SpeakerSTFrageBatch & Shell3 Kommentare

Hallo, ich habe mir ein Powershell Skript geschriebe was bisher auch immer funktioniert hat aber unter einem Windows Server ...

Batch & Shell

Powershell Skript unsichtbar starten

gelöst paupau90FrageBatch & Shell1 Kommentar

Hallo zusammen, im Augenblick rufe ich Batch Skripte wie folgt auf: invisible.vbs Leider habe ich es noch nicht hinbekommen ...

Windows Server

Powershell Skript Resize Disk

winlinFrageWindows Server20 Kommentare

Ich habe folgenden Zweizeiler und versuche über einen Task Scheduler meine Disk nach dem ersten Neustart zu "resizen". Leider ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud