Windows-Tipp: Datensätze mit Script filtern und speichern – so geht's effizient
Ratgeber

Windows-Tipp: Datensätze mit Script filtern und speichern – so geht's effizient

Einzelne Datensätze aus Datenbanken herausfiltern und in einer separaten Datei speichern: statt kilometerlangen Excel-Befehlen und Copy-Paste-Marathon mit der Konsole.

Ein Bekannter von mir führt ehrenamtlich die Mitglieder-Datenbank eines grösseren Turn- und Schützenvereins. Seit der Einführung des revidierten Datenschutzgesetzes darf er nicht mehr die gesamte Excel-Liste herumgehen lassen, sondern nur noch einzelne, teilweise anonymisierte Datensätze.

  • Hintergrund

    Das neue Schweizer Datenschutzgesetz – das musst du wissen

    von Florian Bodoky

Um z.B. Listen für Fahrgemeinschaften zu erstellen, muss er in Excel filtern und die Datensätze mühevoll in weitere Dateien «copy-and-pasten». Das macht Arbeit.

Abfragen automatisieren in der PowerShell

Das geht einfacher mit einem PowerShell-Skript. Dieses soll nach den entsprechenden Parametern in der Datenbank suchen, die jeweiligen Datensätze auslesen und in ein neues, separates Textfile reinkopieren. Das geht – allerdings nur, wenn die Datenbank in den Formaten «.txt», «.ini» oder «.csv» ist. Dateien in «.xlsx» kannst du als Kopie in «.csv» abspeichern.

So baust du das entsprechende Skript:

  1. Öffne den Ordner, in dem du das CSV-File abgespeichert hast (oder das TXT-, respektive ini-File).
  1. Öffne die PowerShell, indem du auf einen freien Platz im Ordner klickst und den Punkt «In Terminal öffnen» wählst.
Im Ordner des gespeicherten Files öffnest du mit einem Rechtsklick das Kontextmenü.
Im Ordner des gespeicherten Files öffnest du mit einem Rechtsklick das Kontextmenü.
Quelle: Florian Bodoky
  1. Tippe folgende Parameter in das Textfeld: get-Content '.\contacts.csv' | Select-String -pattern "Winterthur" | Out-File resultat.txt und drücke auf Enter. Der erste Teil des Befehls wählt die fragliche Textdatei aus. Der zweite wählt die Datensätze aus, die deine Bedingungen erfüllen. Nummer drei speichert die Suchresultate danach in einem Textfile. In meinem File werden also jetzt alle Datensätze ausgewählt, in denen der Parameter «Winterthur» vorkommt. Du kannst den Suchbegriff durch jeden beliebigen Begriff ersetzen.
So sollte der Befehl aussehen.
So sollte der Befehl aussehen.
Quelle: Florian Bodoky
Wenn ein roter Eintrag erscheint, hast du du dich vermutlich irgendwo vertippt.
Wenn ein roter Eintrag erscheint, hast du du dich vermutlich irgendwo vertippt.
Quelle: Florian Bodoky
  1. Das File wird nun im gleichen Verzeichnis erstellt, in dem deine Datenbank ist.

Du hast nun ein Textfile, in dem die entsprechenden Datensätze drin sind – den Dateinamen, in meinem Fall «contacts.txt» und das Pattern, in meinem Fall «Winterthur», musst du natürlich ändern.

Hinweis: Dieser Tipp und der Befehl bezieht sich auf einen einzelnen Anwendungsfall. Hast du vergleichbare Probleme, bei denen ich dir allenfalls helfen könnte? Dann schreib sie in die Kommentare. Ich versuche, sie in weiteren Windows-Tipps zu beantworten.

15 Personen gefällt dieser Artikel


User Avatar
User Avatar

Seit ich herausgefunden habe, wie man bei der ISDN-Card beide Telefonkanäle für eine grössere Bandbreite aktivieren kann, bastle ich an digitalen Netzwerken herum. Seit ich sprechen kann, an analogen. Wahl-Winterthurer mit rotblauem Herzen.


Diese Beiträge könnten dich auch interessieren

Kommentare

Avatar