。Foreach
.foreach權杖會剖析一或多個偵錯工具的命令輸出,並使用此輸出中的每個值做為一或多個其他命令的輸入。
.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的參數中依名稱參考Variable。 您可以使用任何英數位元字串,雖然不建議使用也可以針對有效十六進位數位或偵錯工具命令傳遞的字串。 如果 變數所使用的 名稱符合現有的全域變數、區域變數或別名,則其值不會受到 .foreach 命令的影響。
InCommands
指定將剖析其輸出的一或多個命令;產生的權杖將會傳遞至 OutCommands。 不會顯示 InCommands 的輸出。
InString
與 /s搭配使用。 指定將剖析的字串;產生的權杖將會傳遞至 OutCommands。
InFile
與 /f搭配使用。 指定將剖析的文字檔;產生的權杖將會傳遞至 OutCommands。 檔案名 InFile 必須以引號括住。
OutCommands
指定將針對每個權杖執行的一或多個命令。 每當 變數 字串發生時,它就會由目前的權杖取代。
注意 當字串 Variable 出現在 OutCommands內時,它必須以空格括住。 如果它與任何其他文字相鄰,即使是括弧 ,它也不會由目前的權杖值取代,除非您使用 ${ } (別名解譯器) 權杖。
其他資訊
如需其他控制流程權杖及其在偵錯工具命令程式中使用的資訊,請參閱 使用偵錯工具命令程式。
備註
當 InCommands的輸出、 InString 字串或 InFile 檔案剖析時,任何數目的空格、索引標籤或歸位字元都會被視為單一分隔符號。 在OutCommands內出現變數時,會使用每個產生的文字片段來取代Variable。
以下是 .foreach 語句的範例,它會在檔案中找到的每個權杖上使用 dds 命令 ,myfile.txt:
0:000> .foreach /f ( place "g:\myfile.txt") { dds place }
/pS和/ps旗標可用來只將特定權杖傳遞至指定的OutCommands。 例如,下列語句會略過 myfile.txt 檔案中的前兩個權杖,然後將第三個權杖傳遞至 dds。 在每個傳遞的權杖之後,它會略過四個權杖。 結果是 dd 會 與第三個、第 8 個、第 13 個、第 18 個和第 23 個權杖搭配使用,依此類傳:
0:000> .foreach /pS 2 /ps 4 /f ( place "g:\myfile.txt") { dds place }
如需使用 .foreach 權杖的更多範例,請參閱 偵錯工具命令程式範例。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應