$, $<, $><, $$<, $$><, $$ >a< (ejecutar archivo de script)

Los comandos $, $<, $><, $$<, $$><y $$>a< leen el contenido del archivo de script especificado y usan su contenido como entrada de comando del depurador.

    $<Filename 
    $><Filename 
    $$<Filename 
    $$><Filename 
    $$>a<Filename [arg1 arg2 arg3 ...] 

Parámetros

Nombre Especifica un archivo que contiene texto de comando del depurador válido. El nombre de archivo debe seguir las convenciones de nombre de archivo de Microsoft Windows. El nombre de archivo puede contener espacios.

argn

Especifica cualquier número de argumentos de cadena para que el depurador pase al script. El depurador reemplazará cualquier cadena del formulario ${$argn} en el archivo de script por el argumento correspondiente antes de ejecutar el script. Es posible que los argumentos no contengan comillas o punto y coma. Varios argumentos deben estar separados por espacios; si un argumento contiene un espacio, debe ir entre comillas. Todos los argumentos son opcionales.

Entorno

Elemento Descripción
Modos Modo de usuario, modo kernel
Targets Volcado de memoria activo y de memoria
Plataformas Todo

Comentarios

Los tokens $$< y $< ejecutan los comandos que se encuentran en el archivo de script literalmente. Sin embargo, con $< puede especificar cualquier nombre de archivo, incluido uno que contenga punto y coma. Dado que $< permite usar punto y coma en el nombre de archivo, no se puede concatenar $< con otros comandos del depurador, ya que no se puede usar un punto y coma como separador de comandos y como parte de un nombre de archivo.

Los tokens $$>< y $>< ejecutan los comandos que se encuentran en el archivo de script literalmente, lo que significa que abren el archivo de script, reemplazan todos los retornos de carro por punto y coma y ejecutan el texto resultante como un único bloque de comandos. Al igual que con $< descrito anteriormente, la variación $>< permite nombres de archivo que contienen punto y coma, lo que significa que no se puede concatenar $>< con otros comandos del depurador.

Los tokens $$>< y $>< son útiles si ejecuta scripts que contienen programas de comandos del depurador. Para obtener más información sobre estos programas, vea Usar programas de comandos del depurador.

A menos que tenga nombres de archivo que contengan punto y coma, no es necesario usar $< o $><.

El token $$>a< permite al depurador pasar argumentos al script. Si Filename contiene espacios, debe ir entre comillas. Si se proporcionan demasiados argumentos, se omiten los argumentos excesivos. Si se proporcionan demasiados argumentos, cualquier token del archivo de origen del formato ${$argn} donde n es mayor que el número de argumentos proporcionados permanecerá en su forma literal y no se reemplazará por nada. Puede seguir este comando con un punto y coma y comandos adicionales; la presencia de un punto y coma finaliza la lista de argumentos.

Cuando el depurador ejecuta un archivo de script, los comandos y su salida se muestran en la ventana Comando del depurador. Cuando se alcanza el final del archivo de script, el control vuelve al depurador.

En la tabla siguiente se resume cómo puede usar estos tokens.

Token Permite nombres de archivo que contienen punto y coma Permite la concatenación de comandos adicionales separados por punto y coma. Condensa en un único bloque de comandos Permite argumentos de script

$<

No

No

No

$><

No

No

$$<

No

No

No

$$><

No

No

$$>a<

No

Los comandos $, $<, $><, $<$ y $$>< devuelven los comandos contenidos en el archivo de script y muestran la salida de estos comandos. El comando $$>a< no devuelve los comandos encontrados en el archivo de script, sino que simplemente muestra su salida.

Los archivos de script se pueden anidar. Si el depurador encuentra uno de estos tokens en un archivo de script, la ejecución pasa al nuevo archivo de script y vuelve a la ubicación anterior cuando se ha completado el nuevo archivo de script. Los scripts también se pueden llamar de forma recursiva.

En WinDbg, puede pegar el texto de comando adicional en la ventana Comando del depurador.

Ejemplos

En el ejemplo siguiente se muestra cómo pasar argumentos a un archivo de script, Myfile.txt. Supongamos que el archivo contiene el texto siguiente:

.echo The first argument is ${$arg1}.
.echo The second argument is ${$arg2}.

A continuación, puede pasar argumentos a este archivo mediante un comando similar al siguiente:

0:000> $$>a<myfile.txt myFirstArg mySecondArg 

El resultado de este comando sería:

The first argument is myFirstArg.
The second argument is mySecondArg.

Este es un ejemplo de lo que sucede cuando se proporciona el número incorrecto de argumentos. Supongamos que el archivo Mi Script.txt contiene el texto siguiente:

.echo The first argument is ${$arg1}.
.echo The fifth argument is ${$arg5}.
.echo The fourth argument is ${$arg4}.

A continuación, la siguiente línea de comandos delimitada por punto y coma genera la salida:

0:000> $$>a< "c:\binl\my script.txt" "First one" Two "Three More" Four; recx 
The first argument is First one.
The fifth argument is ${$arg5}.
The fourth argument is Four.
ecx=0021f4ac

En el ejemplo anterior, el nombre de archivo se incluye entre comillas porque contiene un espacio y los argumentos que contienen espacios también se incluyen entre comillas. Aunque el script espera un quinto argumento, el punto y coma finaliza el comando $$>a< después del cuarto argumento.