Si estás en busca de un cmdlet de PowerShell que pueda almacenar la salida en un archivo de texto, estás de suerte. Estás a punto de aprender cómo utilizar el cmdlet Out-File
de PowerShell junto con su popular parámetro Out-File -Append
también!
¿Cómo Funciona Out-File?
Este cmdlet de PowerShell es simple en su naturaleza; su único propósito es almacenar la salida recibida y guardarla en un archivo de texto.
Fue diseñado para reemplazar al operador de redirección de salida estándar (>
). Incluso desde los días de DOS, podíamos redirigir la salida a un archivo. Este cmdlet es la forma de hacerlo en PowerShell.
El cmdlet Out-File
se utiliza típicamente al final de la canalización de PowerShell. Su único propósito es enviar la salida directamente a un archivo de texto sin preocuparse por su formato. Hay formas mínimas de ajustar cómo se escribe esa salida.
Enviando la Salida a un Archivo
Imagina que tienes un script que devuelve una lista de todos los servicios de Windows en tu computadora. Cuando ejecutas Get-Service
, recibirás todos los objetos que esperas en la consola.
Pero tal vez te gustaría guardar esa salida en un archivo de texto. El cmdlet Out-File
es una excelente manera de hacerlo. Puedes utilizarlo al dirigir prácticamente cualquier cosa hacia él a través de la canalización.
Puedes ver a continuación que la salida de Get-Service
se envió al cmdlet que creó un archivo de texto llamado Services.txt que contiene la misma información que ves en la consola.
Agregar a un archivo
Por defecto, sobrescribe cualquier cosa en el archivo de texto proporcionado a través del parámetro FilePath
. Sin embargo, puedes anular este comportamiento utilizando el parámetro Append
.
Tal vez estés acumulando la salida de la consola en un archivo y quisieras agregar texto a un archivo en lugar de sobrescribirlo. El parámetro Append
es tu mejor aliado.
Al usar el parámetro Out-File -Append
puedes ver a continuación, nota que si no lo usas, se sobrescribe el archivo C:\File.txt. Pero, en cuanto agregas el parámetro Append
, añade la salida al final del archivo.
Cambiando la salida
Por defecto, este cmdlet intentará replicar lo que se muestra en la consola, pero hay algunas formas de manipularlo. Por ejemplo, el cmdlet tiene un parámetro NoNewLine
que simplemente elimina todos los caracteres de nueva línea.
O puedes cortar el texto en cada fila en un recuento de caracteres particular también con el parámetro Width
.
Conclusión

En un escenario real, este cmdlet funciona, pero hay mejores formas de almacenar la salida en un archivo.
Este cmdlet no proporciona opciones reales para manipular la salida. Simplemente guarda la salida exactamente como se muestra en la consola. Este cmdlet es similar a un transcripción de PowerShell que simplemente escribe todo directamente en un archivo de texto.
El cmdlet Add-Content
o Set-Content
siempre tendrán más flexibilidad, pero si necesitas una forma rápida de llevar la salida de PowerShell a un archivo, Out-File
es la opción a elegir.
Relacionado: Set-Content: La forma de PowerShell de Escribir en un Archivo