La syntaxe de ligne de commande pour empêcher l'emballage dans PowerShell fichier de sortie?
La commande suivante encapsule la sortie de la largeur de la fenêtre à partir de laquelle le script a été appelé. Qui est le fichier de sortie est "mot"enveloppé. Comment puis-je éviter cela, l'emballage dans le fichier de sortie w/o modifier le script?
PS C:\Users\User1> & '\\fileServer\c$\PowerShell Scripts\herScript.ps1' > output.txt
OriginalL'auteur lance | 2012-01-23
Vous devez vous connecter pour publier un commentaire.
Essayez ceci (je ne peux pas le tester)
Out-File
a un-Width
paramètre, trop. Sa documentation indique que les tout-delà de la largeur est tronqué (non enveloppé). Donc je suppose que cela tronque premier à 4096 caractères (ce qui bizarrement non-nombre de tours) et puis à la largeur de la fenêtre de la console. Alors qu'il ne l'envelopper tronque les lignes les plus longues qui ne peut pas être prévu.4096 n'est pas bizarre et pas non ronde. C'est 2^12
Le
-Width
paramètre ne semble pas empêcher l'habillage de ligne. L'injection deOut-String -Width xxx
dans la conduite juste avantOut-File
ne faire l'affaire pour moi.OriginalL'auteur CB.
Au lieu d'utiliser
>
, qui estout-file
, vous pouvez utiliserset-content
Set-Content
diffère. De manière significative (mais pas documenté), il verrouille le fichier de sorte qu'il ne peut pas être lu. DoncSet-Content
est un mauvais choix pour la journalisation. Voir stackoverflow.com/questions/10655788/...OriginalL'auteur manojlds
Utiliser le Write-Host applet de commande comme la dernière déclaration de votre pipeline. Normal sans fioritures powershell affiche la sortie de regard sur les dimensions de la mère de la fenêtre de console, et les garnitures de roulés de sortie des lignes de largeur-1. Le Write-Host applet de commande contourne cette étape et écrit directement sur la sortie standard, sans autre munging.
Voici un exemple, qui lit un fichier JSON, et écrit en javascript sortie, ce qui ajoute au format JSON à une grosse corde (en conservant les commentaires):
Voici un exemple de fichier d'entrée:
Et la sortie lors de l'utilisation Write-Host:
Et enfin, un exemple de terribles choses qui se passera si vous laissez de côté le Write-Host applet de commande (en supposant une console largeur de 60):
OriginalL'auteur William