.foreach

.foreach トークンは、1 つ以上のデバッガー コマンドの出力を解析し、この出力の各値を 1 つ以上の追加コマンドへの入力として使用します。

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

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

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

構文要素

オプション
次のオプションの任意の組み合わせを指定できます。

/pSInitialSkipNumber
一部の初期トークンがスキップされます。 InitialSkipNumber は、指定された OutCommands に渡されない出力トークンの数を指定します。

/psSkipNumber
コマンドが処理されるごとに、トークンが繰り返しスキップされます。 指定した OutCommands にトークンが渡されるたび、 SkipNumber の値と等しいトークンの数は無視されます。

変数
変数名を指定します。 この変数は、InCommands 文字列内の各コマンドからの出力を保持するために使用されます。OutCommandsに渡されるパラメーターでは、名前で変数を参照できます。 任意の英数字文字列を使用できます。ただし、有効な 16 進数またはデバッガー コマンドに渡す文字列は使用できません。 Variable に使用される名前が、既存のグローバル変数、ローカル変数、またはエイリアスと一致する場合、その値は .foreach コマンドの影響を受け取りません。

InCommands
出力を解析する 1 つ以上のコマンドを指定します。結果のトークンは OutCommands に渡されますInCommands からの出力は表示されません。

InString
/s と一緒に使用されます。 解析される文字列を指定します。結果のトークンは OutCommands に渡されます

Infile
/f と一緒に使用されます。 解析するテキスト ファイルを指定します。結果のトークンは OutCommands に渡されます。 ファイル名 InFile は 引用符で囲む必要があります。

OutCommands
トークンごとに実行される 1 つ以上のコマンドを指定します。 Variable 文字列 が発生 するたびに、現在のトークンに置き換えられる。

メモOutCommands内に文字列 Variable が表示される場合は、スペースで囲む必要があります。 他のテキスト (かっこも含む) に隣接している場合は、 ${ } (エイリアス インタープリター) トークンを使用しない限り、現在のトークン値に置き換えされません。

追加情報

その他の制御フロー トークンとそのデバッガー コマンド プログラムでの使用については、「デバッガー コマンド プログラムの使用 」を参照してください

注釈

InCommands、InString 文字列、または InFile ファイルからの出力が解析された場合、任意の数のスペース、タブ、またはキャリッジ リターンが 1 つの区切り記号として扱われます。 結果として得られる各テキストは、OutCommands 内に 表示される場合に Variable を置 き換える際に使用されます

次に示すのは、 のファイルにある各トークンに対して dds コマンドを使用する .foreach ステートメントの例myfile.txt

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

指定した OutCommands に特定のトークンのみを渡す場合は、/pS フラグと /ps フラグを使用できます。 たとえば、次のステートメントでは、myfile.txtファイル内の最初の 2 つのトークンをスキップし、3 番目のトークンを dds に渡します。 渡された各トークンの後に、4 つのトークンがスキップされます。 その結果、 dds は 3 番目、8 番目、13 番目、18 番目、23 番目のトークンと一緒に使用されます。

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

.foreach トークンを使用するその他の例については、「デバッガー コマンド プログラムの例」を参照してください