Bagikan melalui


.foreach

Token .foreach mengurai output satu atau beberapa perintah debugger dan menggunakan setiap nilai dalam output ini sebagai input ke satu atau beberapa perintah tambahan.

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

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

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

Elemen Sintaks

Opsi Bisa berupa kombinasi opsi berikut:

/pS InitialSkipNumber
Menyebabkan beberapa token awal dilewati. InitialSkipNumber menentukan jumlah token output yang tidak akan diteruskan ke OutCommands yang ditentukan.

/ps SkipNumber
Menyebabkan token dilewati berulang kali setiap kali perintah diproses. Setelah setiap kali token diteruskan ke OutCommands yang ditentukan, sejumlah token yang sama dengan nilai SkipNumber akan diabaikan.

Variabel
Menentukan nama variabel. Variabel ini akan digunakan untuk menahan output dari setiap perintah dalam string InCommands; Anda dapat mereferensikan Variabel berdasarkan nama dalam parameter yang diteruskan ke OutCommands. String alfanumerik apa pun dapat digunakan, meskipun menggunakan string yang juga dapat meneruskan untuk jumlah heksadesimal atau perintah debugger yang valid tidak disarankan. Jika nama yang digunakan untuk Variabel terjadi untuk mencocokkan variabel global, variabel lokal, atau alias yang ada, nilainya tidak akan terpengaruh oleh perintah .foreach .

Perintah
Menentukan satu atau beberapa perintah yang outputnya akan diurai; token yang dihasilkan akan diteruskan ke OutCommands. Output dari InCommands tidak ditampilkan.

InString
Digunakan dengan /s. Menentukan string yang akan diurai; token yang dihasilkan akan diteruskan ke OutCommands.

InFile
Digunakan dengan /f. Menentukan file teks yang akan diurai; token yang dihasilkan akan diteruskan ke OutCommands. Nama file InFile harus diapit dalam tanda kutip.

OutCommands
Menentukan satu atau beberapa perintah yang akan dijalankan untuk setiap token. Setiap kali string Variabel terjadi, string tersebut akan digantikan oleh token saat ini.

Catatan Saat Variabel string muncul dalam OutCommands, variabel harus dikelilingi oleh spasi. Jika berdekatan dengan teks lain -- bahkan tanda kurung -- tidak akan digantikan oleh nilai token saat ini, kecuali Anda menggunakan token ${ } (Penerjemah Alias).

Informasi Tambahan

Untuk informasi tentang token alur kontrol lainnya dan penggunaannya dalam program perintah debugger, lihat Menggunakan Program Perintah Debugger.

Keterangan

Ketika output dari InCommands, string InString, atau file InFile diurai, sejumlah spasi, tab, atau pengembalian pengangkutan diperlakukan sebagai pemisah tunggal. Setiap potongan teks yang dihasilkan digunakan untuk mengganti Variabel saat muncul dalam OutCommands.

Berikut adalah contoh pernyataan .foreach yang menggunakan perintah dds pada setiap token yang ditemukan dalam file myfile.txt:

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

Bendera /pS dan /ps hanya dapat digunakan untuk meneruskan token tertentu ke OutCommands yang ditentukan. Misalnya, pernyataan berikut akan melewati dua token pertama dalam file myfile.txt lalu meneruskan yang ketiga ke dds. Setelah setiap token yang diteruskan, token akan melewati empat token. Hasilnya adalah bahwa dd akan digunakan dengan token ke-3, ke-8, ke-13, ke-18, dan ke-23, dan sebagainya:

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

Untuk contoh selengkapnya yang menggunakan token .foreach , lihat Contoh Program Perintah Debugger.