Powershell Export-CSV Append Formatunterschied
Ich verwende diesen Powershell Befehl, um eine Ordnerstruktur in eine TXT zu exportieren.
Get-ChildItem "C:\Users\kschweitzer\test\1" -recurse |Export-CSV "C:\users\kschweitzer\export.txt" –notype
Das ist das Ergebnis.
#TYPE System.IO.FileInfo
PSPath,PSParentPath,PSChildName,PSDrive,PSProvider,PSIsContainer,Mode,Name,Length,DirectoryName,Directory,IsReadOnly,Exists,FullName,Extension,CreationTime,CreationTimeUtc,LastAccessTime,LastAccessTimeUtc,LastWriteTime,LastWriteTimeUtc,Attributes
Microsoft.PowerShell.Core\FileSystem::C:\Users\kschweitzer\Private\test\1\1.txt,Microsoft.PowerShell.Core\FileSystem::C:\Users\kschweitzer\Private\test\1,1.txt,C,Microsoft.PowerShell.Core\FileSystem,False,-a---,1.txt,17,C:\Users\kschweitzer\Private\test\1,C:\Users\kschweitzer\Private\test\1,False,True,C:\Users\kschweitzer\Private\test\1\1.txt,.txt,"08.05.2009 07:11:30","08.05.2009 05:11:30","08.05.2009 07:11:30","08.05.2009 05:11:30","08.05.2009 07:11:51","08.05.2009 05:11:51",Archive
Nun möchte ich im gleichen Format etwas an die gleiche Datei anhängen und verwende dafür diesen Befehl.
Get-ChildItem "C:\Users\kschweitzer\test\1\1.txt" |out-file "C:\users\kschweitzer\export.txt" -append -encoding unicode
Nun steht in der Datei das hier drin.
#TYPE System.IO.FileInfo
PSPath,PSParentPath,PSChildName,PSDrive,PSProvider,PSIsContainer,Mode,Name,Length,DirectoryName,Directory,IsReadOnly,Exists,FullName,Extension,CreationTime,CreationTimeUtc,LastAccessTime,LastAccessTimeUtc,LastWriteTime,LastWriteTimeUtc,Attributes
Microsoft.PowerShell.Core\FileSystem::C:\Users\kschweitzer\Private\test\1\1.txt,Microsoft.PowerShell.Core\FileSystem::C:\Users\kschweitzer\Private\test\1,1.txt,C,Microsoft.PowerShell.Core\FileSystem,False,-a---,1.txt,17,C:\Users\kschweitzer\Private\test\1,C:\Users\kschweitzer\Private\test\1,False,True,C:\Users\kschweitzer\Private\test\1\1.txt,.txt,"08.05.2009 07:11:30","08.05.2009 05:11:30","08.05.2009 07:11:30","08.05.2009 05:11:30","08.05.2009 07:11:51","08.05.2009 05:11:51",Archive
V e r z e i c h n i s : M i c r o s o f t . P o w e r S h e l l . C o r e \ F i l e S y s t e m : : C : \ U s e r s \ k s c h w e i t z e r \ P r i v a t e \ t e s t \ 1
M o d e L a s t W r i t e T i m e L e n g t h N a m e
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- a - - - 0 8 . 0 5 . 2 0 0 9 0 7 : 1 1 1 7 1 . t
x t
Das Out-File verwendet ein anderes Format als das Export-CSV, obwohl es sich um die gleiche Datenmenge handelt. Was muss ich verwenden, um ein identisches Format zu erhalten?
Get-ChildItem "C:\Users\kschweitzer\test\1" -recurse |Export-CSV "C:\users\kschweitzer\export.txt" –notype
Das ist das Ergebnis.
#TYPE System.IO.FileInfo
PSPath,PSParentPath,PSChildName,PSDrive,PSProvider,PSIsContainer,Mode,Name,Length,DirectoryName,Directory,IsReadOnly,Exists,FullName,Extension,CreationTime,CreationTimeUtc,LastAccessTime,LastAccessTimeUtc,LastWriteTime,LastWriteTimeUtc,Attributes
Microsoft.PowerShell.Core\FileSystem::C:\Users\kschweitzer\Private\test\1\1.txt,Microsoft.PowerShell.Core\FileSystem::C:\Users\kschweitzer\Private\test\1,1.txt,C,Microsoft.PowerShell.Core\FileSystem,False,-a---,1.txt,17,C:\Users\kschweitzer\Private\test\1,C:\Users\kschweitzer\Private\test\1,False,True,C:\Users\kschweitzer\Private\test\1\1.txt,.txt,"08.05.2009 07:11:30","08.05.2009 05:11:30","08.05.2009 07:11:30","08.05.2009 05:11:30","08.05.2009 07:11:51","08.05.2009 05:11:51",Archive
Nun möchte ich im gleichen Format etwas an die gleiche Datei anhängen und verwende dafür diesen Befehl.
Get-ChildItem "C:\Users\kschweitzer\test\1\1.txt" |out-file "C:\users\kschweitzer\export.txt" -append -encoding unicode
Nun steht in der Datei das hier drin.
#TYPE System.IO.FileInfo
PSPath,PSParentPath,PSChildName,PSDrive,PSProvider,PSIsContainer,Mode,Name,Length,DirectoryName,Directory,IsReadOnly,Exists,FullName,Extension,CreationTime,CreationTimeUtc,LastAccessTime,LastAccessTimeUtc,LastWriteTime,LastWriteTimeUtc,Attributes
Microsoft.PowerShell.Core\FileSystem::C:\Users\kschweitzer\Private\test\1\1.txt,Microsoft.PowerShell.Core\FileSystem::C:\Users\kschweitzer\Private\test\1,1.txt,C,Microsoft.PowerShell.Core\FileSystem,False,-a---,1.txt,17,C:\Users\kschweitzer\Private\test\1,C:\Users\kschweitzer\Private\test\1,False,True,C:\Users\kschweitzer\Private\test\1\1.txt,.txt,"08.05.2009 07:11:30","08.05.2009 05:11:30","08.05.2009 07:11:30","08.05.2009 05:11:30","08.05.2009 07:11:51","08.05.2009 05:11:51",Archive
V e r z e i c h n i s : M i c r o s o f t . P o w e r S h e l l . C o r e \ F i l e S y s t e m : : C : \ U s e r s \ k s c h w e i t z e r \ P r i v a t e \ t e s t \ 1
M o d e L a s t W r i t e T i m e L e n g t h N a m e
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- a - - - 0 8 . 0 5 . 2 0 0 9 0 7 : 1 1 1 7 1 . t
x t
Das Out-File verwendet ein anderes Format als das Export-CSV, obwohl es sich um die gleiche Datenmenge handelt. Was muss ich verwenden, um ein identisches Format zu erhalten?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115562
Url: https://administrator.de/forum/powershell-export-csv-append-formatunterschied-115562.html
Ausgedruckt am: 24.04.2025 um 07:04 Uhr
1 Kommentar

Export-csv hat ja auch einen ganz anderen Zweck, es dient dazu Objekte mit allen Informationen zu speichern, um sie später zu vergleichen/verarbeiten oder über Systemgrenzen zu transportieren. Deine erste Ausgabe entspricht übrigens nicht dem Befehl weil die Type Information enthalten ist.
GCI ... | Out-file packt den Text den es erhält mit deinen Anweisungen an die Datei ohne sich um irgendeinen vorherigen Inhalt zu kümmern.
Das einfachste ist wohl du schreibst mit export-csv in eine neue Datei und hängst die aneinnader z.Bsp. mit Add-Content.
Alternative Einlesen in Var und DirEinträge
Gruß
LotPings
GCI ... | Out-file packt den Text den es erhält mit deinen Anweisungen an die Datei ohne sich um irgendeinen vorherigen Inhalt zu kümmern.
Das einfachste ist wohl du schreibst mit export-csv in eine neue Datei und hängst die aneinnader z.Bsp. mit Add-Content.
Alternative Einlesen in Var und DirEinträge
als Objekte
über foreach anhängen und dann den Export-CSvGruß
LotPings