Inicio
» WINDOWS
»
Cómo guardar la salida de un comando en un archivo desde el símbolo del sistema y PowerShell.
Cómo guardar la salida de un comando en un archivo desde el símbolo del sistema y PowerShell.
Para guardar la salida de un comando en un archivo en Windows 10, agregue >para crear o sobrescribir un archivo o >>para agregar contenido al mismo. Tanto el Símbolo del sistema como PowerShell admiten estos operadores, pero utilizan la sintaxis de ruta del intérprete de comandos que abrió. La redirección envía la salida al archivo en lugar de a la consola.
Guardar la salida del símbolo del sistema en un archivo
Crear o sobrescribir un archivo de texto
Abra el símbolo del sistema, escriba el comando que desea ejecutar, agregue un espacio y >, a continuación, indique la ruta del archivo. Por ejemplo:
Pulsa Intro. El Símbolo del sistema se crea ipconfig.txtsi no existe; si ya existe, >reemplaza su contenido. %USERPROFILE%Se expande a la carpeta de usuario de Windows y las comillas protegen las rutas con espacios. Reemplaza la ruta de ejemplo si tu Escritorio se ha movido o redirigido.
El símbolo del sistema redirige la salida de los comandos a un archivo, reemplazando el contenido anterior si el archivo ya existe.
Puedes usar un nombre de archivo más corto, como output.txt, para guardarlo en el directorio actual del Símbolo del sistema. Escribe cdsolo para ver ese directorio. La carpeta de destino debe existir y tu cuenta debe tener permisos de escritura. La documentación de referencia del Símbolo del sistema de Microsoft explica la redirección de archivos y el uso de comillas alrededor de rutas que contienen espacios.
Agregar salida, mostrar un archivo o incluir errores
Utilice dos signos de mayor que cuando desee conservar la salida anterior y agregar el nuevo resultado al final:
Utilice dos signos de mayor que en el Símbolo del sistema para agregar la salida a un archivo.
Para leer el texto guardado desde el símbolo del sistema, ejecute:
type "%USERPROFILE%\Desktop\ipconfig.txt"
Por defecto, >captura la salida estándar. Los mensajes de error escritos en el flujo de error independiente aún pueden aparecer en la consola. Para colocar la salida estándar y la salida de error en el mismo archivo, utilice este orden:
Reemplaza your-commandcon el comando que estás ejecutando. También puedes enviar solo los errores a un archivo separado con 2>, por ejemplo your-command 2> "%USERPROFILE%\Desktop\errors.txt".
Guarda la salida de PowerShell en un archivo.
PowerShell acepta los mismos >operadores >>. Para un comando de PowerShell como Get-Process, también puede usar Out-Filepara hacer explícitos el destino y la codificación de texto:
Esto crea o sobrescribe el archivo. $HOMEes la variable del directorio principal de PowerShell; cambie la ruta entre comillas para guardar en otro lugar. La forma más corta es . La documentación de Out-FileGet-Process > "$HOME\Desktop\processes.txt" de Microsoft describe cómo enviar la salida de la canalización a un archivo.
Out-File escribe la salida de un comando de PowerShell en un archivo con nombre.
Para agregar nuevos resultados, utilice >>el -Appendparámetro con Out-File. Para mostrar un archivo guardado en PowerShell, ejecute:
Get-Content -Path "$HOME\Desktop\processes.txt"
Si quieres que el resultado aparezca en la consola mientras se guarda, canalízalo a través de Tee-Object:
Tee-Object guarda la salida de la canalización mientras la pasa para su visualización en la consola.
Tee-ObjectGuarda los datos de la canalización y los transmite; cuando es el último elemento en la canalización, también muestra el resultado. Úselo para ver y guardar la salida simultáneamente. Consulte la documentación de Tee-Object de Microsoft .
Elija el operador de redirección adecuado.
Operador
Lo que hace
Uso típico
>
Escribe la salida en un archivo, reemplazando su contenido actual.
Iniciar un nuevo registro.
>>
Agrega la salida al final de un archivo.
Mantenga un registro continuo.
2>
Escribe la información de error en un archivo aparte.
Separe los errores de la salida normal.
2>&1
Combina la salida de error con la salida estándar antes de redirigir.
Mantén ambos flujos juntos en un solo registro.
En PowerShell, >la redirección del flujo de éxito se realiza de forma predeterminada. Un script de PowerShell puede enviar advertencias, mensajes detallados u otra información a flujos separados; utilice esta opción *>cuando desee redirigir todos sus flujos de salida a un archivo. La guía de redirección de PowerShell de Microsoft explica los números de flujo y las combinaciones posibles.
Compruebe la codificación y el formato de salida.
La codificación de caracteres del archivo de texto depende de la versión del shell y del comando. En Windows PowerShell 5.1, >escribe Out-FileUTF-16LE de forma predeterminada; PowerShell 6 y versiones posteriores usan UTF-8 de forma predeterminada sin una marca de orden de bytes. El significado de una configuración UTF-8 explícita también difiere en su comportamiento de BOM entre versiones. Si otro programa debe leer el archivo, elija una codificación que admita y use la misma codificación al agregar contenido. La guía de codificación de PowerShell de Microsoft enumera estas diferencias de versión. PowerShell 7.4 también cambió la forma en que la redirección maneja la salida estándar de los programas nativos, por lo que el comportamiento byte a byte puede diferir de versiones anteriores.
Out-FileEscribe una representación textual legible de los objetos de PowerShell; no conserva los objetos originales como un archivo de datos. Si necesita un resultado compatible con hojas de cálculo a partir de objetos como procesos, utilice Export-Csvun .csvnombre de archivo. Una extensión diferente por sí sola no cambia el formato de salida.
Solución rápida de problemas
El archivo está vacío: es posible que el comando no haya producido ninguna salida estándar o que su mensaje haya ido al flujo de errores. Intente agregar 2>&1.
El archivo se encuentra en la ubicación incorrecta: proporcione la ruta completa, compruebe que la carpeta existe y ponga la ruta entre comillas si contiene espacios.
La salida anterior desapareció: se sobrescribe con una sola línea >. Úsela >>para agregar contenido o elija un nuevo nombre de archivo.
Una tabla de PowerShell se recorta: la salida formateada puede verse limitada por el ancho de la consola. Para una salida de texto ancho, agregue un -Widthvalor adecuado a Out-File, o exporte los datos estructurados a CSV.