Zoeken…


Consoletoepassingen

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

GUI-toepassingen

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-toepassingen worden in een ander proces gestart en geven de besturing onmiddellijk terug aan de PowerShell-host. Soms moet de toepassing worden verwerkt voordat de volgende PowerShell-instructie moet worden uitgevoerd. Dit kan worden bereikt door de applicatie-uitvoer naar $ null (3) te leiden of door Start-Process te gebruiken met de -Wait-schakelaar (5).

Console Streams

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 bevat objecten System.Management.Automation.ErrorRecord. Merk op dat sommige applicaties zoals git.exe de "foutstroom" gebruiken voor informatieve doeleinden, die helemaal niet noodzakelijkerwijs fouten zijn. In dit geval is het het beste om de exitcode te bekijken om te bepalen of de foutstroom als fouten moet worden geïnterpreteerd.

PowerShell begrijpt deze streams: uitvoer, fout, waarschuwing, uitgebreid, foutopsporing, voortgang. Native applicaties gebruiken meestal alleen deze streams: Output, Error, Warning.

In PowerShell 5 kunnen alle streams worden omgeleid naar de standaard output / succes-stream (6).

In eerdere PowerShell-versies kunnen alleen specifieke streams worden doorgestuurd naar de standaarduitvoer- / successtream (7). In dit voorbeeld wordt de "foutstroom" omgeleid naar de uitvoerstroom.

Codes afsluiten

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

Dit zijn ingebouwde PowerShell-variabelen die aanvullende informatie bieden over de meest recente fout. $LastExitCode is de laatste $LastExitCode van de laatste native applicatie die werd uitgevoerd. $? en $Error[0] is het laatste foutenrecord dat werd gegenereerd door PowerShell.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow