Compartir a través de


Out-File

Envía la salida a un archivo.

Sintaxis

Out-File [-FilePath] <string> [[-Encoding] <string>] [-Append] [-Force] [-InputObject <psobject>] [-NoClobber] [-Width <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Descripción

El cmdlet Out-File envía la salida a un archivo. Puede usar este cmdlet en lugar del operador de redirección (>) cuando necesite usar sus parámetros.

Parámetros

-Append

Agrega el resultado al final de un archivo existente en lugar de sobrescribir el contenido de dicho archivo.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Encoding <string>

Especifica el tipo de codificación de caracteres que se usa en el archivo. Los valores válidos son "Unicode", "UTF7", "UTF8", "UTF32", "ASCII", "BigEndianUnicode", "Default" y "OEM". "Unicode" es el valor predeterminado.

"Default" use la codificación de la página de códigos ANSI actual del sistema.

"OEM" usa el identificador de la página de códigos del fabricante del equipo original actual del sistema operativo.

¿Requerido?

false

¿Posición?

2

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-FilePath <string>

Especifica la ruta de acceso al archivo de salida.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Force

Permite al cmdlet sobrescribir un archivo de solo lectura existente. Incluso si se usa el parámetro Force, el cmdlet no puede invalidar las restricciones de seguridad.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-InputObject <psobject>

Especifica los objetos que se van a escribir en el archivo. Especifique la variable que contiene los objetos o escriba un comando o una expresión que los obtenga.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByValue)

¿Aceptar caracteres comodín?

false

-NoClobber

No sobrescribirá un archivo existente (es decir, no remplazará su contenido). De forma predeterminada, si existe un archivo en la ruta de acceso especificada, Out-File lo sobrescribe sin avisar. Si se usan los parámetros Append y NoClobber, la salida se anexa al archivo existente.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Width <int>

Especifica el número de caracteres de cada línea de la salida. Todos los caracteres adicionales se truncan, no se ajustan. Si se omite este parámetro, el ancho estará determinado por las características del host. El valor predeterminado para la consola de Windows PowerShell es 80 (caracteres).

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Confirm

Solicita confirmación antes de ejecutar el comando.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-WhatIf

Describe lo que ocurriría si ejecutara el comando sin ejecutarlo realmente.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

System.Management.Automation.PSObject

Puede canalizar cualquier objeto a Out-File.

Salidas

Ninguno

Out-File no genera resultados.

Notas

Los cmdlets Out no dan formato a los objetos; solo los presentan y los envían al destino especificado. Si envía un objeto sin formato a un cmdlet Out, el cmdlet lo enviará a un cmdlet de formato antes de presentarlo.

Los cmdlets Out no tienen parámetros para los nombres o las rutas de archivos. Para enviar datos a un cmdlet que contiene el verbo Out (cmdlet Out), use el operador de canalización (|) a fin de enviar el resultado de un comando de Windows PowerShell al cmdlet. También puede almacenar los datos en una variable y usar el parámetro InputObject para pasar los datos al cmdlet. Para obtener ayuda, vea los ejemplos.

Out-File envía los datos, pero no emite objetos de salida. Si canaliza el resultado de Out-File a Get-Member, Get-Member notificará que no se ha especificado ningún objeto.

Ejemplo 1

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

Descripción
-----------
Este comando envía una lista de procesos del equipo al archivo Process.txt. Si el archivo no existe, Out-File lo creará. Dado que el nombre del parámetro FilePath es opcional, se puede omitir dicho nombre y ejecutar el comando equivalente "get-process | outfile C:\Test1\process.txt".





Ejemplo 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

Descripción
-----------
Este comando envía también una lista de procesos al archivo Process.txt, pero usa el parámetro NoClobber, que impide que se sobrescriba ningún archivo existente. La salida muestra el mensaje de error que aparece cuando se usa NoClobber con un archivo existente.





Ejemplo 3

C:\PS>$a = get-process

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

Descripción
-----------
Estos comandos envían una lista de procesos del equipo al archivo Process.txt. El texto está codificado en formato ASCII de modo que lo puedan leer programas como Findstr y Grep. De forma predeterminada, Out-File utiliza el formato Unicode.

El primer comando obtiene la lista de procesos y la almacena en la variable $a. El segundo comando usa el cmdlet Out-File para enviar la lista al archivo Process.txt. 

El comando usa el parámetro InputObject para determinar si la entrada se encuentra en la variable $a. Usa el parámetro Encoding para convertir la salida al formato ASCII. Usa el parámetro Width para limitar a 50 caracteres cada línea del archivo. Dado que las líneas de la salida se truncan después de 50 caracteres, se omite la columna situada más a la derecha en la tabla de procesos.





Ejemplo 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

Descripción
-----------
Estos comandos muestran cómo usar el cmdlet Out-File cuando no se está en una unidad FileSystem. 

El primer comando establece la ubicación actual en la clave del Registro HKLM:\Software.

El segundo y el tercer comando tienen el mismo efecto. Usan el cmdlet Get-Acl para obtener el descriptor de seguridad de la subclave del Registro MyKey (HKLM\Software\MyCompany\MyKey). Un operador de canalización pasa el resultado al cmdlet Out-File, que lo envía al archivo Acl.txt.

Dado que el proveedor Registry de Windows PowerShell no es compatible con Out-File, se debe especificar el nombre de la unidad del sistema de archivos, por ejemplo "c:", o bien, el nombre del proveedor seguido de dos signos de dos puntos, "FileSystem::", en el valor del parámetro FilePath. El segundo y el tercer comando ilustran estos métodos.





Vea también

Conceptos

Out-String
Out-Null
Out-Host
Out-Printer
Out-Default
Tee-Object