This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
action:For_Each [2016/03/20 00:28] JMichaelTX Added more details to the process |
action:For_Each [2024/11/22 02:50] (current) peternlewis [See also] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{:action:for-each-icon.png?nolink |}} | ||
====== For Each Action ====== | ====== For Each Action ====== | ||
- | The For Each action loops over a set of [collections](:Collections) of items, setting a variable to each value and executing the contained actions. | + | The *For Each* action loops over a set of [collections](:Collections) of items, setting a variable to each value and executing the contained actions. |
+ | |||
+ | It is one of several Actions that _loop_ through a set of other Actions until some criteria is met. | ||
Whenever you need to deal with a list of things (lines, files, volumes, numbers, etc), the For Each action is a good place to start. | Whenever you need to deal with a list of things (lines, files, volumes, numbers, etc), the For Each action is a good place to start. | ||
===== How To Use ===== | ===== How To Use ===== | ||
+ | |||
- Add the //For Each// Action, from the //Control Flow// Category, to your macro | - Add the //For Each// Action, from the //Control Flow// Category, to your macro | ||
- {{:action:km-editor-for-each-action.png?nolink|}} | - {{:action:km-editor-for-each-action.png?nolink|}} | ||
Line 17: | Line 19: | ||
- Add a collection by clicking the green + button beside //New Collection// to select from a list of available collections. You can learn more about the available collections on the [[:Collections]] page. | - Add a collection by clicking the green + button beside //New Collection// to select from a list of available collections. You can learn more about the available collections on the [[:Collections]] page. | ||
- When you choose a specific collection, further options may become available. | - When you choose a specific collection, further options may become available. | ||
- | - Drag one or more actions into the //No Action// (which means no actions have been added yet) area. | + | - Add one or more actions into the //No Action// (which means no actions have been added yet) area. |
* These actions will operate on each item in the Collection that is stored in the Variable from Step #2 | * These actions will operate on each item in the Collection that is stored in the Variable from Step #2 | ||
+ | |||
+ | You can break out of the loop, retry this iteration, or skip to the next iteration with the [[actions:Redirect_Control_Flow|actions:Redirect Control Flow]] actions. | ||
+ | |||
+ | There is an option in the action (gear) ⚙ menu to display the progress of the For Each action (v10.0+). | ||
===== Examples ===== | ===== Examples ===== | ||
Line 26: | Line 32: | ||
{{:action:km-for-each-lines-example.png?nolink|}} | {{:action:km-for-each-lines-example.png?nolink|}} | ||
- | For a complete macro using this Action, see:\\ | + | For a complete macro using this Action, see [[https://forum.keyboardmaestro.com/t/macro-file-process-lines-in-text-file/2936|MACRO: [FILE] Process Lines in Text File]] |
- | [[https://forum.keyboardmaestro.com/t/macro-file-process-lines-in-text-file/2936|MACRO: [FILE] Process Lines in Text File]] | + | |
- | **Example #2: Get Capture Group for Multiple Matches**\\ | + | **Example #2: Get Capture Group for Multiple Matches** |
See [[:Regular Expressions#Examples|Regular Expressions (RegEx) Examples]] | See [[:Regular Expressions#Examples|Regular Expressions (RegEx) Examples]] | ||
Line 36: | Line 41: | ||
===== See also ===== | ===== See also ===== | ||
- | * [[action:Search Variable|action:Search Variable]] | + | === Actions === |
- | * [[trigger:Typed String|trigger:Typed String]] | + | |
- | ==== Forum topics ==== | + | * [[action:Pause_Until|Pause Until]] action |
+ | * [[action:Repeat|Repeat]] action | ||
+ | * [[action:Until|Until]] action | ||
+ | * [[action:While|While]] action | ||
+ | * [[action:Assert|Assert]] action | ||
+ | * [[actions:Redirect_Control_Flow|Redirect Control Flow]] actions | ||
+ | * [[:Actions|See all actions]] | ||
+ | |||
+ | === Triggers === | ||
+ | |||
+ | * [[trigger:Typed String|trigger:Typed String]] | ||
+ | * [[:Triggers|See all triggers]] | ||
+ | |||
+ | ==== Forum ==== | ||
- [[https://forum.keyboardmaestro.com/t/text-filtering/2763/14|Text filtering]] | - [[https://forum.keyboardmaestro.com/t/text-filtering/2763/14|Text filtering]] | ||
Line 46: | Line 63: | ||
- [[https://forum.keyboardmaestro.com/t/macro-file-process-lines-in-text-file/2936|MACRO: [FILE] Process Lines in Text File]] | - [[https://forum.keyboardmaestro.com/t/macro-file-process-lines-in-text-file/2936|MACRO: [FILE] Process Lines in Text File]] | ||
- [[https://forum.keyboardmaestro.com/t/for-each-item-difficulty-understanding-action/3162/2|For Each Item]] | - [[https://forum.keyboardmaestro.com/t/for-each-item-difficulty-understanding-action/3162/2|For Each Item]] | ||
- | - [[https://www.google.fr/search?q=site:forum.keyboardmaestro.com+For+Each+Item|Keyboard Maestro Forum topics about For Each Item]] | + |