Cómo usar operadores de redireccionamiento en PowerShell
PowerShell es una interfaz de línea de comandos avanzada que puede usar para ejecutar varios comandos y scripts en Windows. PowerShell tiene los mismos operadores de redireccionamiento que el símbolo del sistema, pero también tiene algunos operadores adicionales que son más flexibles y eficaces.
Esta es una lista de operadores de redireccionamiento que puede usar en PowerShell:
- >: Este operador se utiliza para redirigir la salida del comando a un nuevo archivo. Si el archivo ya existe, su contenido será sobrescrito por el resultado del comando. Este operador simplemente cambia la salida denominada “stream 1” o “output stream”, que es la salida normal que se muestra en la pantalla.
- >>: Este operador se utiliza para redirigir la salida del comando a un archivo existente. Si el archivo aún no existe, se creará un nuevo archivo. La salida del comando se anexará al final del archivo, sin eliminar el contenido anterior. Este operador simplemente cambia el flujo de salida.
- <: Este operador se utiliza para tomar la entrada de un archivo y pasarla al comando. Esto es útil si desea ejecutar un comando con parámetros almacenados en un archivo de texto.
- |: Este operador se utiliza para correlacionar la salida de un comando con la entrada de otro comando. Esto se conoce como canalización y le permite crear una serie de comandos interdependientes.
- 2>: Este operador se utiliza para redirigir una salida denominada “stream 2” o “error stream”, que es una salida que contiene un mensaje de error que se muestra en la pantalla.
- 2>>: Este operador se utiliza para redirigir los errores de transmisión a los archivos existentes. Si el archivo aún no existe, se creará un nuevo archivo. La salida de la secuencia de errores se anexará al final del archivo, sin eliminar el contenido anterior.
- 3>: Este operador se utiliza para redirigir una salida denominada “stream 3” o “warning stream”, que es una salida que contiene un mensaje de advertencia que se muestra en la pantalla.
- 3>>: Este operador se utiliza para redirigir el flujo de alertas a un archivo existente. Si el archivo aún no existe, se creará un nuevo archivo. La salida de la secuencia de advertencia se anexará al final del archivo, sin eliminar el contenido anterior.
- 4>: Este operador se utiliza para redirigir la salida denominada “stream 4” o “verbose stream”, que es una salida que contiene información adicional que se muestra en la pantalla si se utiliza el parámetro -Verbose en los comandos.
- 4>>: Este operador se utiliza para redirigir la secuencia detallada a un archivo existente. Si el archivo aún no existe, se creará un nuevo archivo. La salida de la secuencia detallada se anexará al final del archivo, sin eliminar el contenido anterior.
- 5>: Este operador se utiliza para redirigir la salida denominada “stream 5” o “debug stream”, que es la salida que contiene información de depuración que se muestra en la pantalla si utiliza el parámetro -Debug en el comando.
- 5>>: Este operador se utiliza para redirigir la secuencia de depuración a un archivo existente. Si el archivo aún no existe, este comando agrega la salida de depuración de la secuencia al final del archivo, sin quitar el contenido anterior.
Puede utilizar estos operadores de redireccionamiento simultáneamente para cambiar la salida de diferentes secuencias a diferentes archivos. Por ejemplo, si desea ejecutar el comando “Get-Process” para ver una lista de los procesos que se ejecutan en el sistema y redirigir la salida normal al archivo “process.txt”, la salida de error al archivo “error.txt” y la salida detallada al archivo “verbose.txt”, puede escribir el siguiente comando:
Get-Process -Verbose > process.txt 2> error.txt 4> verbose.txt
Este comando creará tres nuevos archivos en el directorio actual y escribirá la salida de cada secuencia en el archivo correspondiente. Si los archivos ya existen, su contenido se sobrescribirá con la salida del comando.
También puede utilizar operadores de redireccionamiento especiales llamados “tee-object” para redirigir la salida del comando a un archivo mientras lo muestra en la pantalla. Esto es útil si desea guardar el resultado del comando para futuras referencias, pero también desea verlo en vivo.
Para usar tee-object, debe agregar el símbolo “|” después del comando que desea ejecutar, seguido de la palabra “tee” y el nombre del archivo de destino. Por ejemplo, si desea ejecutar el comando “Get-Date” para ver la fecha y hora actuales y redirigir la salida al archivo “date.txt” mientras lo muestra en la pantalla, puede escribir el siguiente comando:
Get-Date | Tee date.txt
Este comando creará un nuevo archivo llamado date.txt en el directorio actual y escribirá la salida del comando Get-Date en él. La salida también se mostrará en la pantalla.