Si está buscando un cmdlet de PowerShell que pueda almacenar la salida en un archivo de texto, está de suerte. Está a punto de aprender a usar el cmdlet Out-File
de PowerShell junto con su popular parámetro Out-File -Append
.
tabla de contenidos
¿cómo funciona Out-File?
el cmdlet Out-File de PowerShell es de naturaleza simple; su único propósito es almacenar la salida recibida y almacenarla en un archivo de texto.,
Out-File fue diseñado para reemplazar el operador de redirección de salida estándar (>
). Incluso desde los días DOS, podríamos redirigir la salida a un archivo. Este cmdlet es la forma en que PowerShell lo hace.
el cmdlet Out-File
se utiliza normalmente al final de la canalización de PowerShell. Su único propósito es enviar la salida raw directamente a un archivo de texto sin ninguna consideración. Hay formas mínimas de modificar cómo se escribe esa salida.,
enviando la salida a un archivo
supongamos que tiene un script que devuelve una lista de todos los servicios de Windows en su computadora. Cuando ejecute Get-Service
, recibirá todos los objetos que pueda esperar 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. Puede usar Out-File
canalizando casi cualquier cosa a él a través de la tubería.,
puede ver a continuación, la salida de Get-Service
se envió al cmdlet que creó un archivo de texto llamado Services.txt que contiene la pantalla exacta que se ve en la consola.
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>
anexando a un archivo
de forma predeterminada, Out-File
sobrescribe cualquier cosa en el archivo de texto proporcionado a través del parámetro FilePath
. Sin embargo, puede anular este comportamiento utilizando el parámetro Append
.,
tal vez esté acumulando la salida de la consola en un archivo y le gustaría agregar texto a un archivo en lugar de sobrescribirlo. El parámetro Append
es tu mejor amigo.
Usando el parámetro Out-File -Append
puede ver a continuación, observe que si no lo usa, el C:\File.txt se sobrescribe. Pero, tan pronto como vira el parámetro Append
, añade la salida al final.
cambiar la salida
de forma predeterminada, 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, puede cortar el texto en cada fila en un número de caracteres particular, así como con el Width
parámetro.
conclusión
en un escenario del mundo real, el cmdlet Out-File
funciona, pero hay mejores formas de almacenar la salida en un archivo.
el cmdlet Out-File
no proporciona opciones reales para manipular la salida. Simplemente guarda la salida exactamente como se muestra en la consola., Este cmdlet es similar a una transcripción de PowerShell que simplemente escribe todo directamente en un archivo de texto.
los cmdlets Add-Content
o Set-Content
siempre tendrán más flexibilidad, pero si necesita una forma rápida de obtener la salida de PowerShell en un archivo, Out-File
es el camino a seguir.
relacionado: Set-Content: la forma de PowerShell de escribir en un archivo