La agrupación de comandos le permite agrupar un conjunto de comandos de forma lógica encerrándolos entre paréntesis.

 

Hay dos usos principales para la agrupación de comandos. Una es ejecutar múltiples comandos en un lugar donde normalmente solo se permite un comando. Por ejemplo, supongamos que desea ejecutar dos diferentes REN comandos en todos los subdirectorios de su disco duro. Podrías hacerlo así:

 

ren global *.wx1 *.wxo

ren global *.tx1 *.txo

 

Pero con la agrupación de comandos puedes hacer lo mismo con un solo comando:

 

global (ren *.wx1 *.wxo & ren *.tx1 *.txo)

 

Los dos REN Los comandos entre paréntesis parecen GLOBAL como si fueran un solo comando, por lo que ambos comandos se ejecutan para cada directorio, pero los directorios solo se escanean una vez, no dos, lo que generalmente ahorra tiempo.

 

Este tipo de agrupación de comandos es más útil con el EXCEPTO, PARA, GLOBALy IF comandos. Cuando utiliza este enfoque en un lote archivo, debe colocar todos los comandos del grupo en una línea o colocar el paréntesis de apertura al final de una línea y colocar los comandos en las líneas siguientes. Los ejemplos 1 y 2 siguientes funcionarán correctamente, pero ejemplo 3 no:

 

Ejemplo 1 (correcto):

 

para %f en (1 2 3) (eco hola %f y eco adiós %f)

 

Ejemplo 2 (correcto):

 

para %f en (1 2 3) (

 eco hola %f

 eco adios %f

)

 

Ejemplo 3 (incorrecto):

 

para %f en (1 2 3) (echo hola %f

 eco adios %f)

 

Si los ejemplos anteriores se escriben con el comando línea, TCC-RT emitirá un ¿Más? mensaje en respuesta a cada línea hasta que se cierre el grupo de comandos (es decir, se reconozca el paréntesis final) como se explica a continuación.

 

El segundo uso común de la agrupación de comandos es redirigir la entrada o salida de varios comandos sin usar repetidamente el redirección símbolos. Por ejemplo, considere el siguiente fragmento de archivo por lotes que coloca algunas líneas de encabezado (incluida la fecha de hoy) y visualizaciones de directorio en un archivo de salida mediante redirección. La primera ECHO El comando crea el archivo usando >, y los otros comandos se agregan al archivo usando >>:

 

echo Archivos de datos %_date > lista de archivos

dir *.dat >> lista de archivos

eco. >> lista de archivos

echo Archivos de texto %_date >> lista de archivos

dir *.txt >> lista de archivos

 

Al utilizar la agrupación de comandos, estos comandos se pueden escribir de manera mucho más sencilla. Ingrese este ejemplo en una línea:

 

(echo Archivos de datos %_date & dir *.dat & echo `` & echo Archivos de texto %_date & dir *.txt) > lista de archivos

 

La redirección, que aparece fuera del paréntesis, se aplica a todos los comandos dentro del paréntesis. Debido a que la redirección se realiza solo una vez, los comandos se ejecutarán un poco más rápido que si cada comando se ingresara por separado. El mismo enfoque se puede utilizar para la entrada. redirección y tubería.

 

También puede utilizar la agrupación de comandos en un archivo por lotes o cuando se le solicite dividir los comandos en varias líneas. Este último ejemplo es como el ejemplo de redirección anterior, pero se ingresa cuando se le solicita. Nota la ¿Más? mensaje después de cada línea incompleta. Ninguno de los comandos se ejecuta hasta que el grupo de comandos se completa con el paréntesis de cierre. Este ejemplo hace no deben ingresarse en una línea:

 

[C:\] (eco archivos de datos %_date

Más? directorio *.dat

Más? eco.

Más? echo Archivos de texto %_date

Más? dir *.txt) > lista de archivos

[C:\]

 

Limitaciones

 

Un grupo de comandos entre paréntesis es como una línea de comando larga. La duración total del grupo sólo está limitada por la RAM disponible.

 

No se puede utilizar TEXTO / TEXTO FINALo GOTO or GOSUB etiquetas en un grupo de comandos.

 

Cada línea que escriba en el mensaje normal o en el ¿Más? símbolo, y cada comando individual dentro de la línea, debe estar dentro del formato habitual. límite de longitud de la línea de comando.