Export-CSV exporte la longueur mais pas le nom
J'ai ce code qui je suis en cours d'exécution de powershell. Quand je le lance sans l'export-csv-je obtenir les noms des dossiers sur l'écran.
dir | select -expand fullname | % { ($_ -split '\')[7]
Mais si j'ajoute | export-csv c:\test.txt
puis-je voir la suite dans le fichier, pas le nom du dossier que j'attendais comme je le vois sur l'écran.
#TYPE System.String
"Length"
"13"
"18"
"20"
"22"
"29"
"21"
"24"
"11"
"17"
"20"
"20"
source d'informationauteur Ninja Cowgirl | 2013-10-18
Vous devez vous connecter pour publier un commentaire.
Export-Csv
exporte une table des propriétés de l'objet et de leurs valeurs. Depuis votre script est de produire des objets string, et la seule propriété qu'ils ont est de longueur, c'est ce que vous avez obtenu.Si vous souhaitez simplement enregistrer la liste, utilisez
Out-File
ouSet-Content
au lieu deExport-Csv
.La réponse précédente fonctionne, mais si quelqu'un était à la recherche de la sortie dans un fichier CSV.
Ce n' PAS travail:
Parce que
Export-Csv
prend des Objets et des sorties de propriétés. La seule propriétés d'un String[ ] est de Longueur, de sorte que le fichier CSV contient uniquement les Longueurs.Pour corriger cela, nous devons modifier le String[ ] dans un Objet[ ]. La façon la plus simple est avec
Select-Object
.Mettre chaque Chaîne de caractères dans le Nom de la propriété d'un new Object[ ], comme ceci:
Juste de ré-itérer,
Select-Object
sorties personnalisé PSObject qui peuvent être facilement manipulés. C'est très puissante de l'information, de l'utiliser judicieusement.Cela a fonctionné pour moi: