web-dev-qa-db-fra.com

Largeur de la colonne de sortie PowerShell

Si j'ai un exécutable out.exe et c'est stdout est redirigé vers un fichier, c'est-à-dire

out.exe > $file

En ce moment, si je fais cela, il ne génère que:

<-----------------------------> 
80 columns per line to the file

Existe-t-il un moyen de rendre la sortie standard pour être plus large dans la colonne de la console? Est-ce le out.exe c'est en quelque sorte qui joue avec les colonnes? Dans mon cas j'utilise fxcopcmd.exe.

31
maxfridbe

J'ai rencontré un problème similaire au dos. Voici ce que j'ai fait pour le réparer:

# Update output buffer size to prevent clipping in Visual Studio output window.
if( $Host -and $Host.UI -and $Host.UI.RawUI ) {
  $rawUI = $Host.UI.RawUI
  $oldSize = $rawUI.BufferSize
  $typeName = $oldSize.GetType( ).FullName
  $newSize = New-Object $typeName (500, $oldSize.Height)
  $rawUI.BufferSize = $newSize
}

Il définit simplement une nouvelle largeur de 500 caractères sur le tampon de sortie RAWUI de l'hôte (cependant, car nous exécutons notre construction dans plusieurs environnements et nous ne voulions pas que le script échoue simplement parce qu'il ne pouvait pas rendre la sortie un peu plus grande, le code est plutôt défensive).

Si vous exécutez dans un environnement qui définit toujours Rawui (et la plupart le font), le code peut être grandement simplifié:

$Host.UI.RawUI.BufferSize = New-Object Management.Automation.Host.Size (500, 25)
41
Emperor XLII

Les deux out-file et out-string CMDlets ont un width paramètre:

out.exe | out-file -width 132 -filePath $file
12
Lee

Si vous parlez de Windows PowerShell - Ouvrez simplement "Propriétés> Layout" Augmentez la taille de la mémoire tampon + la taille de la fenêtre

enter image description here

0
Edmund Sulzanok