Redirección

Mantenido el

Al ejecutar comandos en el símbolo del sistema, a veces se desea guardar la salida en un archivo en lugar de mostrarla en pantalla.

Por ejemplo, al crear un archivo de registro o al querer revisar los resultados de un comando más tarde.

La redirección es la función que hace esto posible.

Este artículo explica en detalle cómo usar la redirección en el símbolo del sistema.

¿Qué es la redirección?

La redirección es una función que cambia a dónde envía su salida un comando.

Normalmente, el resultado de ejecutar un comando se muestra en la pantalla (la ventana del símbolo del sistema). Usando la redirección, puedes guardar esa salida en un archivo.

El símbolo del sistema admite los siguientes operadores de redirección.

OperadorDescripción
>Sobrescribir un archivo con la salida estándar
>>Agregar la salida estándar a un archivo
2>Sobrescribir un archivo con la salida de error estándar
2>>Agregar la salida de error estándar a un archivo
2>&1Fusionar la salida de error estándar con la salida estándar
<Leer la entrada desde un archivo

Salida estándar y salida de error estándar

Para entender la redirección, primero debes conocer la salida estándar y la salida de error estándar.

En el símbolo del sistema, la salida se divide en dos categorías.

Tipo de salidaNúmeroDescripción
Salida estándar1Resultados normales del comando
Salida de error estándar2Mensajes de error y advertencias

Por ejemplo, cuando dir lista archivos, los resultados van a la salida estándar. Cuando intentas eliminar un archivo que no existe, el mensaje de error va a la salida de error estándar.

Guardar la salida estándar en un archivo (>)

El operador > guarda la salida estándar de un comando en un archivo.

comando > nombre_archivo

Ejemplo

Guardar la salida de dir en un archivo.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>dir > listado.txt
C:\users\user>

Al ejecutar este comando, la salida de dir se guarda en listado.txt. No se muestra nada en pantalla.

Comprobemos el contenido del archivo guardado.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>type listado.txt
El volumen de la unidad C no tiene etiqueta.
El número de serie del volumen es: 1234-5678
Directorio de C:\Users\usuario\Escritorio
12/12/2024 10:30 <DIR> .
12/12/2024 10:30 <DIR> ..
12/12/2024 10:30 1.234 ejemplo.txt
C:\users\user>
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

チェック

Al usar el operador >, si el archivo especificado ya existe, se sobrescribirá. El contenido existente se perderá.

Agregar la salida estándar a un archivo (>>)

El operador >> agrega contenido al final de un archivo existente.

comando >> nombre_archivo

Ejemplo

Agregar repetidamente a un archivo de registro.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>echo Proceso iniciado >> registro.txt
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>echo Proceso completado >> registro.txt
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>type registro.txt
Proceso iniciado
Proceso completado
C:\users\user>

Al usar >>, el nuevo contenido se añade al final del archivo existente.

Guardar la salida de error estándar en un archivo (2>)

El operador 2> guarda los mensajes de error en un archivo.

comando 2> nombre_archivo

Ejemplo

Guardar el error al intentar eliminar un archivo que no existe.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>del archivo_inexistente.txt 2> error.txt
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>type error.txt
El sistema no puede encontrar el archivo especificado.
C:\users\user>

El mensaje de error se guarda en error.txt.

チェック
Usa 2>> para agregar mensajes de error a un archivo existente.

Guardar tanto la salida como los errores en el mismo archivo (2>&1)

Para guardar tanto la salida normal como los mensajes de error en el mismo archivo, usa 2>&1.

comando > nombre_archivo 2>&1

2>&1 significa “fusionar la salida de error estándar (2) con la salida estándar (1).”

El orden de la redirección importa

comando > archivo.txt 2>&1 guarda tanto stdout como stderr en archivo.txt, pero comando 2>&1 > archivo.txt no produce el mismo resultado. Para guardar ambos, siempre especifica primero el destino de stdout y luego escribe 2>&1.

Ejemplo

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>dir C:\Users\usuario\ > salida.txt 2>&1

Esto guarda tanto la salida de dir como cualquier mensaje de error en salida.txt.

Ejemplo en un archivo por lotes

@echo off
setlocal

echo Iniciando proceso...

rem Procesamiento normal (stdout)
echo Procesando archivo

rem Procesamiento que puede producir un error
copy inexistente.txt copia.txt

echo Proceso completo

endlocal

Ejecutando este archivo por lotes y guardando toda la salida en un archivo de registro:

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>proceso.cmd > registro.txt 2>&1
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>type registro.txt
Iniciando proceso…
Procesando archivo
El sistema no puede encontrar el archivo especificado.
0 archivos copiados.
Proceso completo
C:\users\user>

Suprimir la salida (nul)

Para suprimir completamente la salida de un comando, redirige a nul.

nul es un archivo especial: todo lo que se escribe en él se descarta.

comando > nul

Ejemplo

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>echo prueba > nul

Al ejecutar este comando, no se muestra nada en pantalla.

Suprimir tanto stdout como stderr

comando > nul 2>&1

Este patrón se usa comúnmente en archivos por lotes.

@echo off
setlocal

rem Suprimir completamente la salida del comando
copy ejemplo.txt copia.txt > nul 2>&1

if errorlevel 1 (
    echo Error al copiar
) else (
    echo Copia completada
)

endlocal

Redirección de entrada (<)

El operador < pasa el contenido de un archivo como entrada a un comando.

comando < nombre_archivo

Ejemplo

Ordenar el contenido de un archivo usando el comando sort.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort < nombres.txt
Alicia
Carlos
Roberto
C:\users\user>

Ejemplos de código prácticos

Crear un archivo de registro

@echo off
setlocal

set LOGFILE=registro_proceso.txt

rem Inicializar archivo de registro con marca de tiempo
echo ========================================= > %LOGFILE%
echo Inicio: %DATE% %TIME% >> %LOGFILE%
echo ========================================= >> %LOGFILE%

rem Registrar detalles del proceso
echo Directorio actual: %CD% >> %LOGFILE%
echo. >> %LOGFILE%
echo Lista de archivos: >> %LOGFILE%
dir /b >> %LOGFILE% 2>&1

rem Fin
echo. >> %LOGFILE%
echo Fin: %DATE% %TIME% >> %LOGFILE%

echo Archivo de registro creado: %LOGFILE%

endlocal

Separar registros de errores

@echo off
setlocal

rem Guardar stdout y stderr en archivos separados
micomando.exe > exito.log 2> error.log

rem Comprobar si ocurrieron errores
if exist error.log (
    for %%A in (error.log) do (
        if %%~zA GTR 0 (
            echo Se produjeron errores. Consulte error.log.
        ) else (
            echo Completado exitosamente.
        )
    )
)

endlocal

Preguntas de práctica

Pregunta 1

¿Qué comando guarda correctamente la salida de dir en listado.txt sobrescribiendo el archivo?

回答がサーバーに送信されることはありません
Pregunta 2

¿Qué operador redirige la salida de error estándar a un archivo?

回答がサーバーに送信されることはありません
Pregunta 3

¿Qué comando guarda correctamente tanto la salida estándar como la de error en el mismo archivo?

回答がサーバーに送信されることはありません

Resumen

La redirección es una función muy útil al trabajar en el símbolo del sistema.

Puntos clave:

  • >: Sobrescribir un archivo con la salida estándar
  • >>: Agregar la salida estándar a un archivo
  • 2>: Guardar la salida de error estándar en un archivo
  • 2>&1: Fusionar la salida de error con la salida estándar
  • > nul: Suprimir toda la salida
  • <: Leer la entrada desde un archivo

Usando estas funciones, podrás crear archivos de registro, manejar errores y automatizar operaciones con archivos por lotes de manera mucho más eficiente.

Comandos relacionados

In preparation
La página vinculada está actualmente en construcción. Por favor, espere un momento.
#Símbolo del sistema #Archivo por lotes #Redirección #Registro #Comando