Der Begriff CSV hat auch andere Bedeutungen, z.
In diesem Leitfaden zeigen wir, wie Daten in CSV in PowerShell exportieren können.
Die CSV -Dateistruktur
Das CSV -Format folgt einer sehr einfachen Struktur. Jede CSV -Datei hat ".CSV ”als Dateierweiterung. Hier habe ich eine Beispiel -CSV -Datei generiert, die enthält
$ CAT -Probe.CSV
Wie wir sehen können, enthält jede Zeile mehrere von Kommas getrennte Werte. Es gibt keine Begrenzung, wie viele Einträge eine CSV -Datei enthalten kann.
Die Einfachheit der Struktur ist das Schlüsselmerkmal. Das CSV -Format ist so konzipiert, dass es leicht verwendet werden kann, um Daten in andere Programme zu exportieren. Das Ergebnis ist auch menschlich lesbar und kann mit einem beliebigen Texteditor angezeigt werden. Office -Apps wie MS Excel, Calc usw., Unterstützen Sie auch standardmäßig CSV.
Exportieren von PowerShell nach CSV
PowerShell ist eine mächtige Hülle und eine Skriptsprache. Es unterstützt zahlreiche grundlegende und fortschrittliche Funktionen, einschließlich des Exportierens verschiedener Daten in das CSV -Format.
Ähnlich wie bei jeder anderen Shell hat PowerShell ihre eigenen Befehle, die CMDLets genannt werden. Um nach CSV zu exportieren, wird PowerShell mit einem dedizierten CMDLet geliefert Export-CSV. Es dauert ein Objekt als Eingabe und exportiert es in eine CSV -Datei.
Aufgrund der einfachen Struktur könnte es auch mit dem erreicht werden Set-In-Inhalt cmdlet. Es erfordert jedoch, dass Sie die CSV -Struktur manuell definieren. Verwendung Export-CSV reduziert die Arbeitsbelastung erheblich.
Auf der Help-Seite von Export-CSV werden alle unterstützten Befehle angezeigt.
$ help export-csv
Ein praktisches Beispiel wäre der Exportieren der Liste der laufenden Prozesse. Es kann in bestimmten Debugging-/Überwachungsszenarien nützlich sein. Um die Prozesseliste zu erhalten, verwenden wir das CMDLET Get-Process.
$ Get-Process
Jetzt den Ausgang an die Ausgabe angeben Export-CSV.
$ Get-Process | Export -CSV -Path/Home/Viktor/Desktop/Prozesse.CSV
Hier beschreibt das Flag „-Path“ den Speicherort, um die generierte CSV-Datei zu speichern. Verwenden Sie das CMDLET, um den Inhalt der CSV -Datei zu überprüfen Treffen.
$ GET-Content/Home/Viktor/Desktop/Prozesse.CSV
Benutzerdefinierte Trennzeichen
Für jede CSV -Datei ist es Standard, Comma (,) als Trennzeichen zu verwenden. Möglicherweise möchten Sie den Trennzeichen in bestimmten Situationen jedoch in etwas anderes als ein Komma ändern. Das Export-CSV-CMDLet unterstützt das Einstellen eines benutzerdefinierten Trennzeichens für die CSV-Datei. Es kann jeder Charakter sein.
Im folgenden Beispiel verwenden wir ein Semikolon (;) als Trennzeichen.
$ Get-Process | Export -csv -notypeinformation -delimiter ";"; -Path/Home/Viktor/Desktop/Prozesse.CSV
Überprüfen Sie die Ausgabe des Befehls.
$ GET-Content/Home/Viktor/Desktop/Prozesse.CSV
Anhang an vorhandene CSV -Datei
Der Export-CSV CMDLET unterstützt das Hinzufügen von Inhalten zu vorhandenen CSV -Dateien. Es kann helfen, Daten in eine einzelne Datenbank zu kompilieren.
Fügen Sie zum Anhängen das Flag "-Append" hinzu. Verwenden Sie den Speicherort der vorhandenen CSV-Datei als Wert für "-Path".
$ Get-Process | Export -CSV -Append -Path/Home/Viktor/Desktop/Prozesse.CSV
Auswählen von Eigenschaften zum Schreiben in CSV
Schauen wir uns zuerst einen kurzen Blick auf die Ausgabe von Get-Process an.
$ Get-Process
Hier zeigt jede einzelne Spalte eine bestimmte Art von Informationen über die aktuell ausgeführten Prozesse. Jede der Spalten repräsentiert eine Eigenschaft des zugehörigen Prozesses. Bisher haben wir mit allen Eigenschaften der Prozesse gearbeitet (übertragen sie in eine CSV -Datei). Allerdings sind für jede einzelne Situation nicht alle Eigenschaften erforderlich.
Wir können einen Zwischenfilter hinzufügen, um nur einige ausgewählte Eigenschaften zu erhalten. Dazu nutzen wir die Hilfe eines anderen CMDLET Select-Object.
Wir werden den Prozessnamen (Prozessname) und die ID (ID) im folgenden Beispiel nur exportieren.
$ Get-Process | Select -Object -Property ProcessName, ID | Export -CSV -notypeinformation -Path/Home/Viktor/Desktop/Prozesse.CSV
$ GET-Content/Home/Viktor/Desktop/Prozesse.CSV
Kein Überschreiben
Wenn es sich nicht an die vorhandene Datei angehängt hat, überschreibt Export-CSV die vorhandene Datei standardmäßig über. In vielen Situationen kann dies eine ungerechtfertigte Löschung wichtiger Protokolle verursachen. Um solche Unfälle zu vermeiden, können wir Export-CSV anweisen, eine vorhandene Datei standardmäßig nicht zu überschreiben.
Fügen Sie dazu die Flagge "-noclobber" hinzu.
$ Get-Process | Export -CSV -noclobber -Path/Home/Viktor/Desktop/Prozesse.CSV
Wie Sie sehen können, wirft es nun einen Fehler aus, der erwähnt wird, dass die Datei bereits vorhanden ist.
Überschreibende schreibgeschützte Dateien
Standardmäßig erlaubt eine schreibgeschützte Datei keine Bearbeitung. Wir können jedoch PowerShell verwenden, um die Bearbeitung zur Datei zu erzwingen. Diese Funktion wird direkt in Export-CSV eingebunden. Die Art und Weise, wie es getan wird.
Verwenden Sie, um die vorhandene schreibgeschützte Datei zu überschreiben, das Flag "-Force".
$ Get-Process | Export -CSV -Append -force -Path/Home/Viktor/Desktop/Prozesse.CSV
Dateikodierung
Für die Dateikodierung verwendet Export-CSV UTF-8 standardmäßig. Es ist die universelle Codierung für alle Textdateien. In bestimmten Situationen ist jedoch unterschiedliche Codierung sinnvoller. Zum Glück unterstützt Export-CSV die Definition spezifischer Codierung.
Um eine bestimmte Codierung anzugeben, verwenden Sie das Flag "-Coding".
$ Get-Process | Export -CSV -coding-Pfad/Home/Viktor/Desktop/Prozesse.CSV
Hier ist eine Liste aller unterstützten Codierungsformate.
Abschließende Gedanken
Das Export-CSV-CMDLet in PowerShell ist ein leistungsstarkes Instrument zum Exportieren von Informationen in das CSV-Format. Dieser Leitfaden zeigt einige Möglichkeiten zum Export-CSV. Es kann auch in PowerShell -Skripten implementiert werden, um die Datenübertragung zu automatisieren. Es konvertiert strukturierte Daten in ein einfacheres und benutzerlesbares Format, das viele Anwendungen verwenden können.
Happy Computing!