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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 115562
Url: https://administrator.de/contentid/115562
Printed on: April 20, 2024 at 03:04 o'clock
1 Comment
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