La redirección se puede utilizar para reasignar la entrada estándar (stdin), salida estándar (stdout), y error estándar (stderr) dispositivos desde su configuración predeterminada (el teclado y la pantalla) a otro dispositivo como NUL o puerto serie, a un archivo o al Windows portapapeles. Debe tener cierta discreción cuando utilice la redirección con un dispositivo.

 

La redirección siempre se aplica a un comando específico y dura solo mientras dura ese comando. Cuando finaliza el comando, las asignaciones de entrada estándar, salida estándar y error estándar vuelven a ser como eran antes del comando.

 

TCCLa salida de normalmente está en ANSI. Si desea redirigir la salida en Unicode, debe usar el /U opción de inicio in TCC, o el Salida Unicode opción en TCMD.INI.

 

En las descripciones siguientes, nombre de archivo significa el nombre de un archivo o de un dispositivo apropiado (CON para el teclado y la pantalla; ACORTAR: (o CLIP0: - CLIP9:) para el portapapeles; NUL para el dispositivo "nulo", etc.).

 

Estas son las opciones de redirección estándar admitidas por TCC (consulte a continuación opciones de redirección adicionales utilizando identificadores de archivos numéricos):

 

Un paso        Redirección de entrada

Un paso        Redirección de salida

Un paso        Consideraciones especiales para comandos específicos

Un paso        No Clobber

Un paso        Múltiples redirecciones

Un paso        Creando un archivo vacío

Un paso        Redirección por identificador

Un paso        Redirección "aquí-documento"

Un paso        Redirección "aquí-cadena"

 

Redirección de entrada

 

< nombre de archivoPara obtener información desde un archivo o dispositivo en lugar de hacerlo desde el teclado.

 

Redirección de salida

 


exagerar

anexar

salida estándar

>   nombre de archivo

>>   nombre de archivo

Error estándar

>&> nombre de archivo

>>&> nombre de archivo

fusionar salida estándar y error estándar

>&  nombre de archivo

>>&  nombre de archivo

 

Para utilizar la redirección, coloque el símbolo de redirección y nombre de archivo al final de la línea de comando, después del nombre del comando y cualquier parámetro. Por ejemplo, para redirigir la salida del DIR comando a un archivo llamado LISTA DIRL, podrías usar una línea de comando como esta:

 

dir /b *.dat > lista de directorios

 

Puede utilizar cualquier combinación de redirección de entrada y salida para el mismo comando, según corresponda a su propósito. Por ejemplo, este comando envía información al programa externo SORT del archivo LISTA DIRLy envía la salida desde SORT al archivo LISTA DIRL.SRT:

 

ordenar lista de directorios.srt

 

Puede redirigir texto hacia o desde el Windows portapapeles utilizando el nombre del pseudodispositivo ACORTAR: (los dos puntos son obligatorios). La redirección al portapapeles siempre se realiza mediante UTF16 Unicode.

 

Si redirige la salida de un único comando interno como DIR, la redirección finaliza automáticamente cuando se realiza ese comando. Si inicia un archivo por lotes con redirección, toda la salida del archivo por lotes se redirige y la redirección finaliza cuando finaliza el archivo por lotes. De manera similar, si usa la redirección después del paréntesis de cierre de un grupo de mando (p.ej., ...) > informe), toda la salida del grupo de comandos se redirige y la redirección finaliza cuando finaliza el grupo de comandos.

 

Puede cambiar el formato de la salida redirigida. Estas opciones anularán las directivas UnicodeOutput y UTF8Output en TCMD.INI. Nota: estas opciones sólo funcionan para redirigir la salida desde TCC comandos internos y archivos por lotes.

 

>:aLa salida redirigida (STDOUT y/o STDERR) es ANSI (caracteres de 8 bits)
>:túLa salida redirigida es UTF16 Unicode
>:8 o >:u8La salida redirigida es UTF8

 

>>:unLa salida redirigida adjunta (STDOUT y/o STDERR) es ANSI (caracteres de 8 bits)
>>:túLa salida redirigida adjunta es UTF16 Unicode
>>:8 o >>:u8La salida redirigida adjunta es UTF8

 

Consideraciones especiales para comandos específicos

 

No se pueden redirigir todos los resultados de la ejecución de un DO bucle debido a la restricción de que el DO comando y su coincidencia ENDO No puede ser parte de un grupo de mando.

 

Para redirigir la salida de un TEXTO comando, agregue la sintaxis de redirección al TEXTO mando.

 

Cuando ejecuta un PARA or GLOBAL comando, la redirección se realiza por separado para cada iteración, según el directorio actual para esa iteración. Esto puede provocar la sobrescritura repetida del archivo de salida o la creación de un archivo de salida independiente en cada directorio. Para generar un único archivo de salida acumulativo, utilice Agrupación de comandos como en el ejemplo siguiente:

 

(para /r %f en (*.btm) echo %@full[%f] ) > c:\temp\btmlst

 

No Clobber

 

Cuando la salida se dirige a un archivo con >, >&o >&>, y ese archivo ya existe, se sobrescribirá. Puede proteger archivos existentes utilizando el SETDOS comando /N1, el Proteger archivos de salida redirigidos puesta en el Pestaña de inicio de los cuadros de diálogo de configuración, o el Proteger el archivo de salida redirigido .

 

Cuando la salida se agrega a un archivo con >>, >> yo >>&>, el archivo se creará si aún no existe. Sin embargo, si el modo NoClobber está configurado como se describe anteriormente, la redirección de anexos no creará un archivo nuevo; en cambio, si el archivo de salida no existe, se mostrará un error "Archivo no encontrado" o similar.

 

Puede anular temporalmente la configuración actual de NoClobber utilizando un signo de exclamación [!] después del símbolo de redirección. Por ejemplo, para redirigir la salida de DIR al archivo DIROUTy permite sobrescribir cualquier archivo existente a pesar de la configuración NoClobber:

 

directorio >! suciedad

 

Múltiples redirecciones

 

La redirección es completamente anidable. Por ejemplo, puede invocar un archivo por lotes y redirigir toda su salida a un archivo o dispositivo. La redirección de salida de un comando dentro del archivo por lotes tendrá efecto únicamente para ese comando; cuando se complete el comando, la salida volverá al archivo de salida redirigido o al dispositivo en uso para el archivo por lotes en su conjunto.

 

Creando un archivo vacío

 

Puede utilizar la redirección para crear un archivo vacío (de cero bytes). Para hacerlo, ingrese >nombre de archivo como una orden, sin ninguna orden real antes del > personaje. Si tienes habilitado Proteger el archivo de salida redirigido, Utilizar >!nombre de archivo.

 

Redirección por identificador

 

Además de las opciones de redireccionamiento anteriores, TCC también es compatible con CMD sintaxis:

 

n>presentarControlador de redireccionamiento n al archivo nombrado
n>&mControlador de redireccionamiento n al mismo lugar que el mango m

 

Advertencia: No puedes poner espacios entre los n y al >, o entre el >, & y m en la segunda forma. los valores de n y m deben tener un solo dígito decimal y representar identificadores de archivos. Windows define 0, 1 y 2 como se muestra en la siguiente tabla.

 

Handle

Asignación

0

entrada estándar

1

salida estándar

2

Error estándar

 

Las n>presentar la sintaxis redirige la salida desde el identificador n a presentar. Puede utilizar este formulario para redirigir dos identificadores a lugares diferentes. Por ejemplo:

 

dir > archivo de salida 2 > archivo de error

 

envía salida normal a un archivo llamado PERFIL y cualquier mensaje de error a un archivo llamado ARCHIVO DE ERRORES.

 

Las n>&m identificador de redirecciones de sintaxis n al mismo destino que el identificador previamente asignado m. Por ejemplo, para enviar un error estándar al mismo archivo como salida estándar, puede usar este comando:

 

directorio > archivo de perfil 2>&1

 

Tenga en cuenta que puede realizar las mismas operaciones utilizando funciones de redireccionamiento estándar. Los dos ejemplos anteriores podrían escribirse como

 

dir > archivo de salida >&> archivo de error

 

y

 

dir >& archivo de salida

 

Redirección "aquí-documento"

 

Siempre que se admita la redirección de entradas, puede utilizar un enfoque de "documento aquí" similar a Linux. La sintaxis es:

 

programa << por el temor

 

El archivo por lotes actual se lee hasta la siguiente aparición de por el temor , y el texto resultante se convierte en entrada estándar para programa. Por ejemplo:

 

c:\test\program.exe << entrada final

entrada 1

entrada 2

entrada 3

entrada final

echo Esta es la siguiente línea después de "program.exe"

 

Características especiales de "aquí documento":

 

Si << va seguido de un guión (-), el espacio en blanco inicial en las siguientes líneas se eliminará antes de pasarlas a programa (es decir, estarán efectivamente justificados por la izquierda).

 

El analizador realizará una expansión variable en cada línea, a menos que la palabra siguiente << está entre comillas dobles.

 

Redirección "aquí-cadena"

 

La "cadena aquí" le permite enviar texto de cadena directamente a la entrada de un programa. La sintaxis es:

 

programa <<< cadena

 

Esto es similar a usar TECLAS, pero es más fácil de ingresar para ingresar texto. (Si necesita enviar claves especiales o insertar esperas, deberá usar KEYSTACK). Por ejemplo, para enviar una cadena a la entrada estándar del programa:

 

c:\test\program.exe <<< Este es un texto de entrada.