Sök…


Konsolapplikationer

PS> console_app.exe
PS> & console_app.exe
PS> Start-Process console_app.exe

GUI-applikationer

PS> gui_app.exe (1)
PS> & gui_app.exe (2)
PS> & gui_app.exe | Out-Null (3)
PS> Start-Process gui_app.exe (4)
PS> Start-Process gui_app.exe -Wait (5)

GUI-applikationer startar i en annan process och kommer omedelbart att återföra kontrollen till PowerShell-värden. Ibland behöver du applikationen för att avsluta behandlingen innan nästa PowerShell-uttalande måste köras. Detta kan uppnås genom att leda applikationsutgången till $ null (3) eller genom att använda Start-Process med -Wait-omkopplaren (5).

Konsolströmmar

PS> $ErrorActionPreference = "Continue" (1)
PS> & console_app.exe *>&1 | % { $_ } (2)
PS> & console_app.exe *>&1 | ? { $_ -is [System.Management.Automation.ErrorRecord] } (3)
PS> & console_app.exe *>&1 | ? { $_ -is [System.Management.Automation.WarningRecord] } (4)
PS> & console_app.exe *>&1 | ? { $_ -is [System.Management.Automation.VerboseRecord] } (5)
PS> & console_app.exe *>&1 (6)
PS> & console_app.exe 2>&1 (7)

Stream 2 innehåller System.Management.Automation.ErrorRecord-objekt. Observera att vissa applikationer som git.exe använder "felströmmen" för informationsändamål, som inte nödvändigtvis är fel alls. I det här fallet är det bäst att titta på utgångskoden för att avgöra om felströmmen ska tolkas som fel.

PowerShell förstår dessa strömmar: Output, Error, Warning, Verbose, Debug, Progress. Infödda applikationer använder vanligtvis bara dessa strömmar: Output, Error, Warning.

I PowerShell 5 kan alla strömmar omdirigeras till standardutgång / framgångsströmmen (6).

I tidigare PowerShell-versioner kan endast specifika strömmar omdirigeras till standardutgång / framgångsströmmen (7). I det här exemplet omdirigeras "felströmmen" till utgångsströmmen.

Avsluta koder

PS> $LastExitCode
PS> $?
PS> $Error[0]

Dessa är inbyggda PowerShell-variabler som ger ytterligare information om det senaste felet. $LastExitCode är den slutliga utgångskoden för den senaste ursprungliga applikationen som kördes. $? och $Error[0] är den sista felregistreringen som genererades av PowerShell.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow