Gibt es eine Möglichkeit, die Ergebnisse eines Powershell-Cmdlets zu einem Word-Wrapper hinzuzufügen?

8

Einfache (wahrscheinlich dumme) Frage. Ich bin ein Powershell-Neuling und benutze es hauptsächlich, um verwaltete Bibliotheken zu instanziieren, sodass ich keine kleinen Apps schreiben muss, wenn ich Mitglieder von ihnen verwenden muss. Einige dieser Bibliotheken sind alt und haben Methoden mit langen, schmerzhaften Signaturen. Wenn ich get-member benutze, nachdem ich mit new-object instanziiert habe, habe ich oft frustrierende Ergebnisse wie folgt bekommen:

%Vor%

Gibt es eine Möglichkeit, die Ergebnisse von get-member zu verpacken? Alternativ, gibt es einen Schalter für get-member, der die Ergebnisse in einer Weise erzeugt, die nicht umschließt?

    
AJ. 29.06.2009, 18:10
quelle

6 Antworten

15

Die Ausgabe in Tabellenstrukturen wird automatisch formatiert, um sie an die Breite des Bildschirms anzupassen, wobei bei Bedarf lange Werte abgeschnitten werden.

Verteilen Sie die Ergebnisse in den Befehl format-list , um eine ausführliche vertikale Formatierung der Ergebnisse zu erhalten.

%Vor%     
HipCzeck 29.06.2009, 18:16
quelle
4

Format-Table hat einen -Wrap-Schalter, um die letzte Spalte zu umbrechen. Da die letzte Spalte der Ausgabe von Get-Member bereits ziemlich groß ist, wird dies zu lesbaren Ergebnissen führen.

Eine andere Option ist Format-Wide (aber es wird nicht umgebrochen, so dass Sie auf die Konsolenbreite beschränkt sind):

%Vor%     
JasonMArcher 01.07.2009 01:20
quelle
4

Ich konnte nichts eingebautes finden, das erlaubt ist, auf eine willkürliche Breite zu schreiben, also schrieb ich einen - ein bisschen ausführlich, aber hier ist es:

%Vor%     
Leo 03.02.2015 19:34
quelle
2

Aufbauend auf Leos Antwort habe ich beschlossen, ein word-wrap Cmdlet zu erstellen.

%Vor%

Es funktioniert, indem eine Zeichenfolge oder ein Array von Zeichenfolgen als Funktionsargument oder in der Pipeline übergeben wird. Beispiele:

%Vor%

Der Metadaten-Kommentarblock oben in der Funktion ermöglicht get-help word-wrap , einige nützliche Informationen anzuzeigen. Siehe Seite für weitere Informationen zum Definieren von Pipeline-Cmdlets.

    
rojo 01.02.2016 15:27
quelle
1

Sie können auch format-table -wrap ausprobieren, wie:

(get-process -id 3104) .startinfo.UmweltVariablen | format-table -wrap

    
FPardo 05.01.2015 16:09
quelle
0

Alternativ können Sie die Erweiterung "PowerShell Tools für Visual Studio 2015" verwenden, um Ihre Powershell-Skripts in VS 2015 auszuführen.

Ссылка

Dies gibt Ihnen alle Funktionen des VS Editors, Word-Wrapping, Debugging, Intellisense usw.

    
Teoman shipahi 11.01.2017 17:05
quelle

Tags und Links