Out-File
Hiermee wordt uitvoer naar een bestand verzonden.
Syntaxis
		ByPath (Standaard)
	 
	Out-File
    [-FilePath] <string>
    [[-Encoding] <Encoding>]
    [-Append]
    [-Force]
    [-NoClobber]
    [-Width <int>]
    [-NoNewline]
    [-InputObject <psobject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
		ByLiteralPath
	  
	Out-File
    [[-Encoding] <Encoding>]
    -LiteralPath <string>
    [-Append]
    [-Force]
    [-NoClobber]
    [-Width <int>]
    [-NoNewline]
    [-InputObject <psobject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Description
De cmdlet Out-File verzendt uitvoer naar een bestand. Het maakt impliciet gebruik van het opmaaksysteem van PowerShell om naar het bestand te schrijven. Het bestand ontvangt dezelfde weergaveweergave als de terminal. Dit betekent dat de uitvoer mogelijk niet ideaal is voor programmatische verwerking, tenzij alle invoerobjecten tekenreeksen zijn.
Het omleiden van de uitvoer van een PowerShell-opdracht (cmdlet, functie, script) met behulp van de omleidingsoperator (>) is functioneel gelijk aan pijpen naar Out-File zonder extra parameters.
PowerShell 7.4 heeft het gedrag van de omleidingsoperator gewijzigd wanneer deze wordt gebruikt om de stdout- stroom van een systeemeigen opdracht om te leiden. Zie about_Redirectionvoor meer informatie over omleiding.
Voorbeelden
Voorbeeld 1: Uitvoer verzenden en een bestand maken
In dit voorbeeld ziet u hoe u een lijst met processen van de lokale computer naar een bestand verzendt. Als het bestand niet bestaat, maakt Out-File het bestand in het opgegeven pad.
Get-Process | Out-File -FilePath .\Process.txt
Get-Content -Path .\Process.txt
 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
     29    22.39      35.40      10.98   42764   9 Application
     53    99.04     113.96       0.00   32664   0 CcmExec
     27    96.62     112.43     113.00   17720   9 Code
De cmdlet Get-Process haalt de lijst met processen op die op de lokale computer worden uitgevoerd. De Process-objecten worden naar de Out-File-cmdlet verzonden. 
              Out-File gebruikt de parameter FilePath en maakt u een bestand in de huidige map met de naam Process.txt. Met de opdracht Get-Content wordt inhoud uit het bestand opgehaald en weergegeven in de PowerShell-console.
Voorbeeld 2: Voorkomen dat een bestaand bestand wordt overschreven
In dit voorbeeld voorkomt u dat een bestaand bestand wordt overschreven. Standaard overschrijft Out-File bestaande bestanden.
Get-Process | Out-File -FilePath .\Process.txt -NoClobber
Out-File : The file 'C:\Test\Process.txt' already exists.
At line:1 char:15
+ Get-Process | Out-File -FilePath .\Process.txt -NoClobber
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
De cmdlet Get-Process haalt de lijst met processen op die op de lokale computer worden uitgevoerd. De Process-objecten worden naar de Out-File-cmdlet verzonden. 
              Out-File gebruikt de parameter FilePath en probeert naar een bestand te schrijven in de huidige map met de naam Process.txt. De parameter NoClobber voorkomt dat het bestand wordt overschreven en geeft een bericht weer dat het bestand al bestaat.
Voorbeeld 3: Uitvoer verzenden naar een bestand in ASCII-indeling
In dit voorbeeld ziet u hoe u uitvoer coderen met een specifiek coderingstype.
$Procs = Get-Process
Out-File -FilePath .\Process.txt -InputObject $Procs -Encoding ascii -Width 50
De cmdlet Get-Process haalt de lijst met processen op die op de lokale computer worden uitgevoerd. De Process-objecten worden opgeslagen in de variabele, $Procs. 
              Out-File gebruikt de parameter FilePath en maakt u een bestand in de huidige map met de naam Process.txt. De parameter InputObject geeft de procesobjecten in $Procs door aan het bestand Process.txt. De parameter Codering converteert de uitvoer naar ASCII--indeling. De parameter Width beperkt elke regel in het bestand tot 50 tekens, zodat sommige gegevens mogelijk worden afgekapt.
Voorbeeld 4: Een provider gebruiken en uitvoer verzenden naar een bestand
In dit voorbeeld ziet u hoe u de cmdlet Out-File gebruikt wanneer u zich niet in een bestandssysteem bevindt providerstation. Gebruik de cmdlet Get-PSProvider om de providers op uw lokale computer weer te geven. Zie about_Providersvoor meer informatie.
PS> Set-Location -Path Alias:
PS> Get-Location
Path
----
Alias:\
PS> Get-ChildItem | Out-File -FilePath C:\TestDir\AliasNames.txt
PS> Get-Content -Path C:\TestDir\AliasNames.txt
CommandType     Name
-----------     ----
Alias           % -> ForEach-Object
Alias           ? -> Where-Object
Alias           ac -> Add-Content
Alias           cat -> Get-Content
De opdracht Set-Location gebruikt de parameter Path om de huidige locatie in te stellen op de registerprovider Alias:. Met de cmdlet Get-Location wordt het volledige pad voor Alias:weergegeven.
              Get-ChildItem objecten in de pijplijn naar de cmdlet Out-File verzendt. 
              Out-File gebruikt de parameter FilePath om het volledige pad en de bestandsnaam voor de uitvoer op te geven, C:\TestDir\AliasNames.txt. De cmdlet Get-Content maakt gebruik van de parameter Path en geeft de inhoud van het bestand weer in de PowerShell-console.
Voorbeeld 5: Breedte van bestandsuitvoer instellen voor volledig bereik
In dit voorbeeld wordt $PSDefaultParameterValues gebruikt om de parameter Width in te stellen voor alle aanroepen van Out-File en de omleidingsoperators (> en >>) op 2000. Dit zorgt ervoor dat powerShell overal binnen het huidige bereik gegevens uitvoert die zijn opgemaakt voor bestanden, een lijnbreedte van 2000 gebruikt in plaats van een lijnbreedte die wordt bepaald door de consolebreedte van de PowerShell-host.
function DemoDefaultOutFileWidth() {
    try {
        $PSDefaultParameterValues['Out-File:Width'] = 2000
        $logFile = "$PWD\logfile.txt"
        Get-ChildItem Env:\ > $logFile
        Get-Service -ErrorAction Ignore |
            Format-Table -AutoSize |
            Out-File $logFile -Append
        Get-Process | Format-Table Id,SI,Name,Path,MainWindowTitle >> $logFile
    }
    finally {
        $PSDefaultParameterValues.Remove('Out-File:Width')
    }
}
DemoDefaultOutFileWidth
Voor meer informatie over $PSDefaultParameterValues, zie about_Preference_Variables.
Parameters
-Append
Voegt de uitvoer toe aan het einde van een bestaand bestand.
Parametereigenschappen
| Type: | SwitchParameter | 
| Default value: | None | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
Parametersets
(All)
| Position: | Named | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
-Confirm
Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.
Parametereigenschappen
| Type: | SwitchParameter | 
| Default value: | False | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
| Aliassen: | Cf | 
Parametersets
(All)
| Position: | Named | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
-Encoding
Hiermee geeft u het type codering voor het doelbestand. De standaardwaarde is utf8NoBOM.
De acceptabele waarden voor deze parameter zijn als volgt:
- 
              ascii: maakt gebruik van de codering voor de ASCII-tekenset (7-bits).
- 
              ansi: gebruikt de codering voor de ANSI-codepagina van de huidige cultuur. Deze optie is toegevoegd in PowerShell 7.4.
- 
              bigendianunicode: Codeert in UTF-16-indeling met behulp van de bytevolgorde big-endian.
- 
              bigendianutf32: Codeert in UTF-32-indeling met behulp van de bytevolgorde big-endian.
- 
              oem: maakt gebruik van de standaardcodering voor MS-DOS- en consoleprogramma's.
- 
              unicode: Encodeert in UTF-16-indeling met de little-endian-bytevolgorde.
- 
              utf7: Codeert in UTF-7-formaat.
- 
              utf8: Codeert in de UTF-8-indeling.
- 
              utf8BOM: Codeert in UTF-8-formaat met Byte Order Mark (BOM)
- 
              utf8NoBOM: Codeert in UTF-8-indeling zonder Byte Order Mark (BOM)
- 
              utf32: Codeert in UTF-32-indeling.
Vanaf PowerShell 6.2 staat de parameter Coderings- ook numerieke id's toe van geregistreerde codepagina's (zoals -Encoding 1251) of tekenreeksnamen van geregistreerde codepagina's (zoals -Encoding "windows-1251"). Zie de .NET-documentatie voor Encoding.CodePagevoor meer informatie.
Vanaf PowerShell 7.4 kunt u de Ansi waarde voor de -coderingsparameter gebruiken om de numerieke id voor de ANSI-codepagina van de huidige cultuur door te geven zonder deze handmatig op te geven.
Opmerking
              UTF-7* wordt niet meer aanbevolen om te gebruiken. Vanaf PowerShell 7.1 wordt een waarschuwing geschreven als u utf7 opgeeft voor de parameter codering.
Parametereigenschappen
| Type: | Encoding | 
| Default value: | UTF8NoBOM | 
| Geaccepteerde waarden: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
Parametersets
(All)
| Position: | 1 | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
-FilePath 
		Geeft het pad naar het uitvoerbestand op.
Parametereigenschappen
| Type: | String | 
| Default value: | None | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
| Aliassen: | Path | 
Parametersets
					ByPath 
					
				 
				| Position: | 0 | 
| Verplicht: | True | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
-Force
Overschrijft het kenmerk Alleen-lezen en overschrijft een bestaand alleen-lezenbestand. De parameter Force overschrijdt geen beveiligingsbeperkingen.
Parametereigenschappen
| Type: | SwitchParameter | 
| Default value: | None | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
Parametersets
(All)
| Position: | Named | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
-InputObject 
		Hiermee geeft u de objecten die naar het bestand moeten worden geschreven. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.
Parametereigenschappen
| Type: | PSObject | 
| Default value: | None | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
Parametersets
(All)
| Position: | Named | 
| Verplicht: | False | 
| Waarde uit pijplijn: | True | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
-LiteralPath 
		Geeft het pad naar het uitvoerbestand op. De parameter LiteralPath wordt exact gebruikt zoals deze is getypt. Jokertekens worden niet geaccepteerd. Als het pad escape-tekens bevat, zet het dan tussen enkele aanhalingstekens. Enkele aanhalingstekens zorgen ervoor dat PowerShell geen tekens als escapesequenties interpreteert. Zie about_Quoting_Rulesvoor meer informatie.
Parametereigenschappen
| Type: | String | 
| Default value: | None | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
| Aliassen: | PSPath, LP | 
Parametersets
					ByLiteralPath 
					
				  
				| Position: | Named | 
| Verplicht: | True | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | True | 
| Waarde van resterende argumenten: | False | 
-NoClobber 
		
              NoClobber- voorkomt dat een bestaand bestand wordt overschreven en wordt een bericht weergegeven dat het bestand al bestaat. Als er een bestand in het opgegeven pad bestaat, overschrijft Out-File het bestand standaard zonder waarschuwing overschrijft.
Parametereigenschappen
| Type: | SwitchParameter | 
| Default value: | None | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
| Aliassen: | NoOverwrite | 
Parametersets
(All)
| Position: | Named | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
-NoNewline 
		Hiermee geeft u op dat de inhoud die naar het bestand wordt geschreven, niet eindigt met een nieuw regelteken. De tekenreeksweergaven van de invoerobjecten worden samengevoegd om de uitvoer te vormen. Er worden geen spaties of nieuwe regels ingevoegd tussen de uitvoertekenreeksen. Er wordt geen nieuwe regel toegevoegd na de laatste uitvoertekenreeks.
Parametereigenschappen
| Type: | SwitchParameter | 
| Default value: | None | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
Parametersets
(All)
| Position: | Named | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
-WhatIf 
		Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Parametereigenschappen
| Type: | SwitchParameter | 
| Default value: | False | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
| Aliassen: | Wi | 
Parametersets
(All)
| Position: | Named | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
-Width
Hiermee geeft u het maximum aantal tekens in elke regel uitvoer. Eventuele extra tekens worden afgekapt, niet verpakt. Als deze parameter niet wordt gebruikt, wordt de breedte bepaald door de kenmerken van de host. De standaardwaarde voor de PowerShell-console is 80 tekens. Als u de breedte van alle aanroepen van Out-File en de omleidingsoperators (> en >>) wilt bepalen, stelt u $PSDefaultParameterValues['Out-File:Width'] = 2000 in voordat u Out-Filegebruikt.
Parametereigenschappen
| Type: | Int32 | 
| Default value: | None | 
| Ondersteunt jokertekens: | False | 
| DontShow: | False | 
Parametersets
(All)
| Position: | Named | 
| Verplicht: | False | 
| Waarde uit pijplijn: | False | 
| Waarde uit pijplijn op eigenschapsnaam: | False | 
| Waarde van resterende argumenten: | False | 
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
PSObject
U kunt elk object doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert geen uitvoer.
Notities
Invoerobjecten worden automatisch opgemaakt zoals ze in de terminal zouden staan, maar u kunt een Format-* cmdlet gebruiken om expliciet de opmaak van de uitvoer naar het bestand te beheren. Bijvoorbeeld Get-Date | Format-List | Out-File out.txt
Gebruik de pijplijn om de uitvoer van een PowerShell-opdracht naar de Out-File-cmdlet te verzenden. U kunt ook gegevens opslaan in een variabele en de parameter InputObject gebruiken om gegevens door te geven aan de Out-File-cmdlet.
              Out-File gegevens opslaat in een bestand, maar er worden geen uitvoerobjecten naar de pijplijn geproduceerd.
PowerShell 7.2 heeft de mogelijkheid toegevoegd om te bepalen hoe ANSI-escapereeksen worden weergegeven. ANSI-ingerichte uitvoer die wordt doorgegeven aan Out-File kan worden gewijzigd op basis van de instelling van de eigenschap $PSStyle.OutputRendering. Zie about_ANSI_Terminalsvoor meer informatie.