powershellscripts.com

Tutorials  PowerShell Cmdlet Help for Out-File



NAME
Out-File

SYNOPSIS
Sends output to a file.

SYNTAX
Out-File [-FilePath] [[-Encoding] ] [-Append] [-Force] [-InputObject ] [-NoClobber] [-Wi
dth ] [-Confirm] [-WhatIf] []


DESCRIPTION
The Out-File cmdlet sends output to a file. You can use this cmdlet instead of the redirection operator (>) when yo
u need to use its parameters.


PARAMETERS
-Append []
Adds the output to the end of an existing file, instead of replacing the file contents.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-Encoding
Specifies the type of character encoding used in the file. Valid values are "Unicode", "UTF7", "UTF8", "UTF32",
"ASCII", "BigEndianUnicode", "Default", and "OEM". "Unicode" is the default.

"Default" uses the encoding of the system's current ANSI code page.

"OEM" uses the current original equipment manufacturer code page identifier for the operating system.

Required? false
Position? 2
Default value
Accept pipeline input? false
Accept wildcard characters? false

-FilePath
Specifies the path to the output file.

Required? true
Position? 1
Default value
Accept pipeline input? false
Accept wildcard characters? false

-Force []
Allows the cmdlet to overwrite an existing read-only file. Even using the Force parameter, the cmdlet cannot ov
erride security restrictions.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-InputObject
Specifies the objects to be written to the file. Enter a variable that contains the objects or type a command o
r expression that gets the objects.

Required? false
Position? named
Default value
Accept pipeline input? true (ByValue)
Accept wildcard characters? false

-NoClobber []
Will not overwrite (replace the contents) of an existing file. By default, if a file exists in the specified pa
th, Out-File overwrites the file without warning. If both Append and NoClobber are used, the output is appended
to the existing file.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-Width
Specifies the number of characters in each line of output. Any additional characters are truncated, not wrapped
. If you omit this parameter, the width is determined by the characteristics of the host. The default for the W
indows PowerShell console is 80 (characters).

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-Confirm []
Prompts you for confirmation before executing the command.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-WhatIf []
Describes what would happen if you executed the command without actually executing the command.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false


This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer and OutVariable. For more information, type,
"get-help about_commonparameters".

INPUTS
System.Management.Automation.PSObject
You can pipe any object to Out-File.


OUTPUTS
None
Out-File does not generate any output.


NOTES


The Out cmdlets do not format objects; they just render them and send them to the specified display destination
. If you send an unformatted object to an Out cmdlet, the cmdlet sends it to a formatting cmdlet before renderi
ng it.

The Out cmdlets do not have parameters for names or file paths. To send data to a cmdlet that contains the Out
verb (an Out cmdlet), use a pipeline operator (|) to send the output of a Windows PowerShell command to the cmd
let. You can also store data in a variable and use the InputObject parameter to pass the data to the cmdlet. Fo
r help, see the examples.

Out-File sends data, but it does not emit any output objects. If you pipe the output of Out-File to Get-Member,
Get-Member reports that no objects have been specified.


-------------------------- EXAMPLE 1 --------------------------

C:\PS>get-process | out-file -filepath C:\Test1\process.txt


Description
-----------
This command sends a list of processes on the computer to the Process.txt file. If the file does not exist, Out-Fil
e creates it. Because the name of the FilePath parameter is optional, you can omit it and submit the equivalent com
mand "get-process | outfile C:\Test1\process.txt".





-------------------------- EXAMPLE 2 --------------------------

C:\PS>get-process | out-file C:\Test1\process.txt -noclobber

Out-File : File C:\Test1\process.txt already exists and NoClobber was specified.
At line:1 char:23
+ get-process | out-file <<<< process.txt -noclobber


Description
-----------
This command also sends a list of processes to the Process.txt file, but it uses the NoClobber parameter, which pre
vents an existing file from being overwritten. The output shows the error message that appears when NoClobber is us
ed with an existing file.





-------------------------- EXAMPLE 3 --------------------------

C:\PS>$a = get-process

C:\PS> out-file -filepath C:\Test1\process.txt -inputobject $a -encoding ASCII -width 50


Description
-----------
These commands send a list of processes on the computer to the Process.txt file. The text is encoded in ASCII forma
t so that it can be read by search programs like Findstr and Grep. By default, Out-File uses Unicode format.

The first command gets the list of processes and stores them in the $a variable. The second command uses the Out-Fi
le cmdlet to send the list to the Process.txt file.

The command uses the InputObject parameter to specify that the input is in the $a variable. It uses the Encoding pa
rameter to convert the output to ASCII format. It uses the Width parameter to limit each line in the file to 50 cha
racters. Because the lines of output are truncated at 50 characters, the rightmost column in the process table is o
mitted.





-------------------------- EXAMPLE 4 --------------------------

C:\PS>set-location hklm:\software

c:\PS>get-acl mycompany\mykey | out-file -filepath c:\ps\acl.txt

c:\PS>get-acl mycompany\mykey | out-file -filepath filesystem::acl.txt


Description
-----------
These commands show how to use the Out-File cmdlet when you are not in a FileSystem drive.

The first command sets the current location to the HKLM:\Software registry key.

The second and third commands have the same effect. They use the Get-Acl cmdlet to get the security descriptor of t
he MyKey registry subkey (HKLM\Software\MyCompany\MyKey). A pipeline operator passes the result to the Out-File cmd
let, which sends it to the Acl.txt file.

Because Out-File is not supported by the Windows PowerShell Registry provider, you must specify either the file sys
tem drive name, such as "c:", or the name of the provider followed by two colons, "FileSystem::", in the value of t
he FilePath parameter. The second and third commands demonstrate these methods.






RELATED LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113363
Out-String
Out-Null
Out-Host
Out-Printer
Out-Default
Tee-Object