$<、$><、$$<、$$><、$$ >a< (スクリプト ファイルの実行)

$<, $><, $$<, $$><, and $$>a< コマンドは、指定されたスクリプト ファイルの内容を読み取り、その内容をデバッガ コマンド入力として使用します。

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

パラメーター

ファイル名 は、有効なデバッガー コマンド テキストを含むファイルを指定します。 ファイル名は、Microsoft Windows のファイル名規則に従う必要があります。 ファイル名にはスペースを含めることができます。

引数

デバッガーがスクリプトに渡す任意の数の文字列引数を指定します。 デバッガーは、スクリプトを実行する前に、スクリプト ファイル内の ${{$argn}} 形式の文字列を対応する argn に置き換えます。 引数に引用符やセミコロンを含めることはできません。 複数の引数はスペースで区切る必要があります。引数にスペースが含まれる場合は、引用符で囲む必要があります。 すべての引数*は省略可能です。

環境

アイテム 説明
モード ユーザー モード、カーネル モード
目標値 ライブ、クラッシュ ダンプ
プラットフォーム すべて

解説

$$< および $< トークンは、スクリプト ファイル内にあるコマンドを文字どおり実行します。 ただし、$< を使用すると、セミコロンを含むファイル名など、任意のファイル名を指定できます。 $< ではファイル名にセミコロンを使用できますが、セミコロンをコマンド区切り文字とファイル名の一部の両方として使用することはできないため、$< を他のデバッガー コマンドと連結することはできません。

$$>< トークンと $>< トークンは、スクリプト ファイル内にあるコマンドを文字通り実行します。つまり、スクリプト ファイルを開いて、すべての復帰をセミコロンに置き換え、結果のテキストを 1 つのコマンド ブロックとして実行します。 前に説明した $< と同様に、$>< バリエーションではセミコロンを含むファイル名が許可されます。つまり、$>< を他のデバッガー コマンドと連結することはできません。

$$>< トークンと $>< トークンは、デバッガー コマンド プログラムを含むスクリプトを実行する場合に便利です。 これらのプログラムの詳細については、「デバッガー コマンド プログラムの使用」を参照してください。

ファイル名にセミコロンが含まれていない限り、$< または $>< を使用する必要はありません。

$$>a< トークンを使用すると、デバッガーがスクリプトに引数を渡すことができます。 ファイル名にスペースが含まれる場合は、引用符で囲む必要があります。 指定した引数が多すぎる場合、超過した引数は無視されます。 指定された引数が少なすぎる場合、${{$argn}} 形式 (n が指定された引数の数より大きい場合) のソース ファイル内のトークンはリテラル形式のままになり、何にも置き換えられません。 このコマンドの後にセミコロンと追加のコマンドを続けることができます。セミコロンの存在により、引数リストが終了します。

デバッガーがスクリプト ファイルを実行すると、コマンドとその出力がデバッガー コマンド ウィンドウに表示されます。 スクリプト ファイルの終わりに到達すると、制御はデバッガーに戻ります。

次の表は、これらのトークンの使用方法をまとめたものです。

Token セミコロンを含むファイル名を許可します セミコロンで区切られた追加コマンドの連結を許可します 単一のコマンド ブロックに凝縮 スクリプト引数を許可します

$<

はい

いいえ

番号

いいえ

$><

はい

いいえ

有効

いいえ

$$<

いいえ

有効

いいえ

いいえ

$$><

いいえ

イエス

はい

いいえ

$$>a<

いいえ

イエス

イエス

はい

$<$><$$<、および $$>< コマンドは、スクリプト ファイルに含まれるコマンドをエコーし、これらのコマンドの出力を表示します。 $$>a< コマンドは、スクリプト ファイル内のコマンドをエコーせず、出力を表示するだけです。

スクリプト ファイルはネストできます。 デバッガーがスクリプト ファイル内でこれらのトークンのいずれかを検出すると、実行は新しいスクリプト ファイルに移動し、新しいスクリプト ファイルが完了すると前の場所に戻ります。 スクリプトは再帰的に呼び出すこともできます。

WinDbg では、デバッガー コマンド ウィンドウに追加のコマンド テキストを貼り付けることができます。

次の例は、スクリプト ファイル Myfile.txt に引数を渡す方法を示しています。 ファイルに次のテキストが含まれているとします。

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

その場合、次のようなコマンドを使用して、このファイルに引数を渡すことができます。

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

このコマンドの結果は次のようになります。

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

以下は、間違った数の引数が指定された場合に何が起こるかの例です。 ファイル My Script.txt に次のテキストが含まれているとします。

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

その場合、次のセミコロンで区切られたコマンド ラインにより、次のように出力が生成されます。

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

前の例では、ファイル名にはスペースが含まれているため引用符で囲まれており、スペースを含む引数も引用符で囲まれています。 スクリプトでは 5 番目の引数が予期されているように見えますが、4 番目の引数の後の $$>a< コマンドはセミコロンによって終了されます。