Compartir a través de


.foreach

El token .foreach analiza la salida de uno o varios comandos del depurador y usa cada valor de esta salida como entrada para uno o varios comandos adicionales.

.foreach [Options] ( Variable  { InCommands } ) { OutCommands } 

.foreach [Options] /s ( Variable  "InString" ) { OutCommands } 

.foreach [Options] /f ( Variable  "InFile" ) { OutCommands } 

Elementos de la sintaxis

Las opciones pueden ser cualquier combinación de las siguientes opciones:

/pS InitialSkipNumber
Hace que se omitan algunos tokens iniciales. InitialSkipNumber especifica el número de tokens de salida que no se pasarán a los OutCommands especificados.

/ps SkipNumber
Hace que los tokens se omitan repetidamente cada vez que se procesa un comando. Después de cada vez que se pasa un token al outCommands especificado, se omitirá un número de tokens igual al valor de SkipNumber.

Variable
Especifica un nombre de variable. Esta variable se usará para contener la salida de cada comando en la cadena InCommands ; puede hacer referencia a Variable por nombre en los parámetros pasados a OutCommands. Se puede usar cualquier cadena alfanumérica, aunque no se recomienda usar una cadena que también pueda pasar para un número hexadecimal válido o un comando del depurador. Si el nombre usado para Variable coincide con una variable global existente, una variable local o un alias, sus valores no se verán afectados por el comando .foreach .

InCommands
Especifica uno o varios comandos cuya salida se analizará; los tokens resultantes se pasarán a OutCommands. No se muestra la salida de InCommands .

InString
Se usa con /s. Especifica una cadena que se analizará; los tokens resultantes se pasarán a OutCommands.

Infile
Se usa con /f. Especifica un archivo de texto que se analizará; los tokens resultantes se pasarán a OutCommands. El nombre de archivo InFile debe ir entre comillas.

OutCommands
Especifica uno o varios comandos que se ejecutarán para cada token. Siempre que se produzca la cadena variable , se reemplazará por el token actual.

Nota Cuando la cadena Variable aparece dentro de OutCommands, debe estar rodeada de espacios. Si está adyacente a cualquier otro texto ,incluso un paréntesis, no se reemplazará por el valor del token actual, a menos que use el token ${ } (intérprete de alias).

Información adicional

Para obtener información sobre otros tokens de flujo de control y su uso en programas de comandos del depurador, consulte Uso de programas de comandos del depurador.

Comentarios

Cuando se analiza la salida de InCommands, la cadena InString o el archivo InFile , cualquier número de espacios, tabulaciones o devoluciones de carro se trata como un delimitador único. Cada una de las partes de texto resultantes se usa para reemplazar Variable cuando aparece dentro de OutCommands.

Este es un ejemplo de una instrucción .foreach que usa el comando dds en cada token que se encuentra en el archivo myfile.txt:

0:000> .foreach /f ( place "g:\myfile.txt") { dds place } 

Las marcas /pS y /ps se pueden usar para pasar solo determinados tokens a los OutCommands especificados. Por ejemplo, la siguiente instrucción omitirá los dos primeros tokens del archivo myfile.txt y, a continuación, pasará el tercero a dds. Después de pasar cada token, omitirá cuatro tokens. El resultado es que los dds se usarán con los tokens 3, 8, 13, 18 y 23, etc.

0:000> .foreach /pS 2 /ps 4 /f ( place "g:\myfile.txt") { dds place } 

Para obtener más ejemplos que usan el token .foreach , consulte Ejemplos del programa de comandos del depurador.