{{ transformations:IterateProgramAction.png}} ====== ITERATE PROGRAM ====== Category: Workflow / External\\ \\ =====Description===== This action runs the specified external application once for every line in the table. The action fails if the extеrnal application returns a non-zero exit code. \\ =====Use cases===== * Run external applications (e.g. after a file is generated by EasyMorph) against a list of parameters generated in EasyMorph. * Execute Windows shell commands (copy, del, ren, etc.) for a list of files generated in EasyMorph (e.g. using [[transformations:filelist|File list]] action). * Run another EasyMorph project in order to generate different reports for each line of the table (e.g. one report per country). \\ =====Action settings===== ^ Setting ^ Description ^ |Application*|Enter or browse to the fully qualified path and filename of the program's executable file. If this is left blank,\\ the command line is executed by the Windows shell (cmd.exe).| |Working directory (optional)*|Enter the folder containing any files required by the application.| |Arguments|Enter the values, filenames, commands, etc. passed to the application as a calculated expression.| |Halt if exit code is not 0|When this is checked, the workflow will stop and display an error if the program terminates with an error.| * Setting can be specified using a [[:parameters|parameter]].\\ \\ =====Remarks===== ====Parameter substitution==== The action uses a calculated expression to create its command line. It is possible to insert [[:parameters]] as well as column names into the expression. “copy /Y “ & {SourceFolder} & [Filename] & “ “ & {DestinationFolder} & [Filename] Note that //SourceFolder// and //DestinationFolder// are parameter names, while [Filename] is a table column. \\ =====Examples===== **Example:** Batch-delete files using the Windows "del" shell command. The fully qualified filenames are stored in the "File name with full path" column in the dataset. **Action parameters:** > Application is left blank (command will run as a Windows shell command) > Working directory is left blank (no folder assignment is necessary for this command) > Calculated argument '' 'del /q "' & [File name with full path] & '"' '' > Halt if exit code is not 0 is checked (the workflow will stop with an error the "del" command does not complete correctly) {{ https://easymorph.com/images/learn/iterate-program.png }} \\ =====See also===== * [[transformations:runprogram|Run program]] * [[https://easymorph.com/learn/external-programs.html|Tutorial:Executing external programs]]