Als u op de markt bent voor een PowerShell cmdlet die de uitvoer in een tekstbestand kan opslaan, hebt u geluk. Je staat op het punt te leren hoe je de PowerShell Out-File
cmdlet gebruikt samen met de populaire Out-File -Append
parameter ook!
inhoudsopgave
Hoe werkt Out-File?
de PowerShell Out-File cmdlet is eenvoudig van aard; het enige doel is om de ontvangen uitvoer op te slaan en op te slaan in een tekstbestand.,
Out-File werd ontworpen om de standaard uitvoer redirection operator te vervangen (>
). Zelfs vanaf de DOS dagen, konden we uitvoer omleiden naar een bestand. Deze cmdlet is de PowerShell manier om het te doen.
de Out-File
cmdlet wordt doorgaans gebruikt aan het einde van de PowerShell-pijplijn. Het enige doel is om de ruwe uitvoer rechtstreeks naar een tekstbestand te sturen zonder rekening te houden. Er zijn minimale manieren om te tweaken hoe die output wordt geschreven.,
uitvoer verzenden naar een bestand
stel dat u een script hebt dat een lijst van alle Windows-services op uw computer retourneert. Wanneer u Get-Service
uitvoert, zult u alle objecten ontvangen die u op de console kunt verwachten.
maar misschien wilt u die uitvoer opslaan in een tekstbestand. De Out-File
cmdlet is een geweldige manier om dat te doen. Je kunt Out-File
gebruiken door er bijna alles naar toe te pipen via de pipeline.,
hieronder kunt u zien dat de uitvoer van Get-Service
werd verzonden naar de cmdlet die een tekstbestand met de naam Services creëerde.txt dat de exacte weergave die u ziet op de console bevat.
PS> Get-Service | Out-File -FilePath C:\Services.txtPS> Get-Content C:\Services.txtStatus Name DisplayNameStopped AJRouter AllJoyn Router ServiceStopped ALG Application Layer Gateway ServiceStopped AppIDSvc Application IdentityStopped Appinfo Application InformationStopped AppMgmt Application Management<SNIP>
toevoegen aan een bestand
standaard overschrijft Out-File
alles in het tekstbestand dat wordt geleverd via de parameter FilePath
. U kunt dit gedrag echter overschrijven door de parameter Append
te gebruiken.,
misschien accumuleert U console-uitvoer in een bestand en wilt u tekst toevoegen aan een bestand in plaats van te overschrijven. DeAppend
parameter is uw beste vriend.
door gebruik te maken van de Out-File -Append
parameter die u hieronder kunt zien, merk op dat als u het niet gebruikt de C:\File.txt is overschreven. Maar zodra je de parameter Append
tack, voegt het de uitvoer toe aan het einde.
het wijzigen van de uitvoer
standaard zal deze cmdlet proberen te repliceren wat op de console wordt getoond, maar er zijn een aantal manieren om het te manipuleren., Bijvoorbeeld, de cmdlet heeft eenNoNewLine
parameter die alleen alle newline tekens verwijdert.
of u kunt de tekst op elke rij met een bepaald aantal tekens ook afknippen met de parameter Width
.
conclusie
in een realistisch scenario werkt deOut-File
cmdlet, maar er zijn betere manieren om uitvoer in een bestand op te slaan.
de Out-File
cmdlet biedt geen echte opties om de uitvoer te manipuleren. Het slaat gewoon de uitvoer precies zoals weergegeven in de console., Deze cmdlet is vergelijkbaar met een PowerShell transcript dat gewoon schrijft alles direct naar een tekstbestand.
deAdd-Content
ofSet-Content
cmdlets zullen altijd meer flexibiliteit hebben, maar als u een snelle manier nodig hebt om de PowerShell-uitvoer naar een bestand te krijgen, isOut-File
de juiste manier.
gerelateerd: Set-Content: de PowerShell manier om naar een bestand te schrijven