2016-03-30 7 views
0

Wie kann ich nur die erste Zeile (Name) von dieser Ausgabe in Powershell auswählen? OutputNur die erste Zeile von der Ausgabe auswählen

Der Kodex ist dieses:

1. Import-Module "C:\CMI\Entwicklung\MetaTool\packages\psake.4.5.0\tools\psake.psm1" 
2. invoke-psake -buildFile "C:\CMI\Entwicklung\MetaTool\Build\default.ps1" -docs; 

ich nur die Namen von dieser Liste haben möchten.

Vielen Dank!

Antwort

0

Rohr die Ausgabe wählen-Objekt:

Import-Module "C:\CMI\Entwicklung\MetaTool\packages\psake.4.5.0\tools\psake.psm1" 
invoke-psake -buildFile "C:\CMI\Entwicklung\MetaTool\Build\default.ps1" -docs | select Name 

bearbeiten

$a = Invoke-psake default.ps1 

$a 
psake version 4.6.0 
Copyright (c) 2010-2014 James Kovacs & Contributors 

Executing Clean 
Executed Clean! 
Executing Compile 
Executed Compile! 
Executing Test 
Executed Test! 

Build Succeeded! 

---------------------------------------------------------------------- 
Build Time Report 
---------------------------------------------------------------------- 
Name Duration   
---- --------   
Clean 00:00:00.0193100 
Compile 00:00:00.0148280 
Test 00:00:00.0169533 
Total: 00:00:00.1112917 


$b=($a | select-string ":").count-1; ($a | Select-String ":") -replace "\d{2}\:\d{2}:\d{2}.\d{7}"| select -First $b 
Clean 
Compile 
Test  
+0

ich das versucht, aber es funktioniert nicht. Der Ausgang ist leer (nur der Header) ... –

+0

den Ausgang einer Var zuweisen und seinen Typ erhalten: '$ a = invoke .....; $ a.gettype() 'Dies gibt Ihnen eine Idee, welcher Datentyp das ist und ob wir Select-Anweisungen verwenden können. – Martin

+0

Die Variable ist ein System.Array. Hier sind die Arten von jedem Wert im Array: 1 + 2 = Microsoft.PowerShell.Commands.Internal.Format.StartData 3 bis 9 = Microsoft.PowerShell.Commands.Internal.Format.PacketInfoData –

Verwandte Themen