Bulk flowchart iconVisustin Bulk flowchart

Bulk flowchart requires Visustin Pro Edition.

Save your time with Bulk flowchart. Convert your entire project into flow charts while you take a rest. Bulk charting is ideal for processing a number of source files in a batch. Select the source files you wish to flowchart, then press a button. Visustin saves a chart for each individual file. Bulk flowchart works as if you repeatedly chose File Open and File Save. The charts you get are similar to what you see in the main window of Visustin.

Note: Bulk flowcharting creates flow charts that are identical to manually created flow charts. Bulk flowcharting offers no additional diagram types such as system diagrams, file dependency charts or other high-level views.

Steps to flowchart in bulk

  1. Select Bulk flowchart in the File menu
  2. Pick the desired source language
  3. Select the desired source code files. You can select any number of files, such as all source files in a sub-directory tree.
  4. Define the output directory. The charts will be generated in this directory. Visustin will make up the actual filenames for you. Existing files will not be deleted or overwritten.
  5. Select the output file type. This is what files you will get.
  6. Press Run.

If necessary, you can cancel the bulk process by pressing Ctrl+Break.

Output options

Split files by Structure
Unchecked = Create one big flow chart for each source file.
Checked = Create several small flow charts for each source file. Read more below.
Structure menu (HTML and MHT)
Unchecked = Create one big flow chart for each source file.
Checked = Create several small flow charts for each source file, add a Structure menu on the left.
Save as
Regular: Save each flow chart into a separate file (the default way). More about file formats.
Multi-image archive: Put several flow charts in a single output file. Instead of many smaller files you will get a big file with several individual images (or pages) in it. More about multi-image formats
Bulk export
Bulk flowchart can export flow charts to Visio and Word. Just select the appropriate file format (VSD, VSDX, DOC, DOCX).
To create Editor files in a batch, select FLW as the output file format.

Option: Structure

Split files by Structure

This option lets you control whether you want big or small flow charts as output. Keep it unselected to get big charts. Keep it selected to get lots of small flow charts instead of a big one. When this option is selected, each procedure typically appears as a separate flow chart file. The actual split will be the same as what you see in the Structure tab of the main window.

Default functionality
Unselected: Each input file generates one output file.
Selected: Each input file generates several small output files. Typically, you get one flow chart for each procedure or function.
PDF, multipage
Split works according to "Default functionality" above, but the setting is not relevant, as the output is quite similar regardless. PDF sample
TIFF archive (multi-image archive)
Unselected: Create a big TIFF file. Each input file generates a single page in the file, showing a big flow chart.
Selected: Each input file generates a single TIFF file. The file contains several small flow charts, one page for each chart.
TIFF image (regular) works according to "Default functionality" above.

Structure menu (HTML and MHT)

This option appears instead of Split files by Structure for HTML and MHT output formats.
Unselected: Create a big flow chart covering the entire source file. HTML sample MHT sample
Selected: Create small flow charts. Create a Structure menu on the left. Click the menu items to view the small charts. HTML sample MHT sample


Split files by Structure and Structure menu have no effect on certain types of code. This happens when the Structure tab in the main window only shows a single line (it usually shows a line for each procedure). Most notably, Split files by Structure has no effect with languages or modules having no procedures. In that case, the setting can be ignored.

Bulk tips

Drag & drop files from Windows to the Select files to flowchart dialog.

Stalled? Bulk flowcharting may appear to get stalled at times. This may happen with very large source files. In most cases the process is just taking a lot of time due to the size of the chart and Visustin will complete its job after some time. If it doesn't get past of a certain file, try the tricks for large charts for this particular file before running bulk charting again.

Binary source files are not supported. Because of this, bulk charting does not work with PowerScript or the binary file formats of QuickBASIC and REALbasic. Save your code as regular text files before running Bulk flowchart.

Log file

Bulk creates a plain-text .log file in the destination directory. The file is intended for troubleshooting. You can read it with Notepad. If a specific file causes processing to stop, remove that file from the job and try again.

Bulk flowchart jobs

Visustin lets you save bulk flowcharting jobs and run them at a later time. Define jobs and run them at night. Run pre-defined jobs from a batch file as a part of your build process. Jobs are the way to run Visustin in unattended mode.

To define a job, bring up the Bulk flowchart window. Select the flowcharting options as if you were going to bulk chart right now. Instead of pressing the Start button, press the Save button. This will create a .vjb file (Visustin JoB file) and store your bulk settings in it.

Run a job
To run a job, use the Open button in the Bulk flowchart window. The saved job will be loaded. Edit the settings and press Start to actually run the job.
Run a command line job
To run a saved job from the command line or a batch file, use the following command line syntax. Visustin will load the job, save the flow charts and quit.
visustin.exe "c:\path\myjob.vjb"

Running jobs from the command line is a great way to automate flowcharting. Jobs run unattended. Visustin will display a progress window while a job is running, but no user interaction is required.

Note: By default, a .vjb file lists the source file names that were originally selected for the job. As you develop your program further, you will add new source files to your project directory. The new files will not show up on the flowcharting job automatically. To define a job that flowcharts all files, both new and old, edit the .vjb file manually to list directory names instead of individual files. Fortunately, this is straightforward to accomplish. The instructions for doing this are later on this page.

Creating and editing .vjb job files

Bulk jobs are saved in plain-text .vjb job files. You can edit the files with Notepad or any other plain-text editor. It is easiest to start by saving a .vjb file in the Bulk flowchart window, then edit the file.

Sample .vjb file



Job file syntax

Job files are plain-text files. You can edit the file with Notepad, for example. A job file can be saved in ASCII, ANSI, UTF-8 or Unicode format.

There are two sections in the file. The [Job] section defines how the input and output should be performed. The [Source] section lists where the input source code files are to be found.

Language= languagecodeProgramming language code of the source files. The language codes equal those used on the command line but without the slash /.
OutputPath= d:\pathDirectory where to save the flow charts. OutputPath must be the name of an existing directory. Existing files will not be overwritten.
OutputFormat= extOutput file format. The file format is given as the standard file extension, such as gif, tif, png or vsd. You can use any file format that Visustin saves in. Special cases:
OutputFormat=pdf1 for PDF, single page
OutputFormat=pdfm for PDF, multipage
OutputFormat=pdf for PDF, printer pages

Outdated OutputFormats: html+gif, dcx, pcx, tga, code.gif, code.png and code.png are no longer supported.
html+png is deprecated, use html instead.

OutputMulti= True|FalseOptional. Default=False. Used when OutputFormat allows both individual image files and multi-image archives (tif and mht).
OutputMulti=False creates a regular file.
OutputMulti=True creates a multi-image archive (tif or mht).
Split= True|FalseOptional. Default=False. Split files by Structure. For html and mht, Structure menu.
Recursive= True|FalseOptional. Default=False. Set Recursive=True to recursively look for files in the given input directories and their sub-directories. Note: Recursive=True is only available for manually created job files. Visustin always sets Recursive=False.
Log= True|FalseOptional. Default=True. Add Log=False to avoid creating a log file when running a job from the command line. Interactive (non-commandline) jobs always produce a log file.
Extensions= *.ext1;*.ext2Optional. Semicolon-separated list of file specifications. This setting affects the Directory name option in the [Source] section. When directory names are given in [Source], the files must match one of the given wildcard specifications here. If you omit Extensions, Visustin uses the default file extensions for the language in question, such as *.c;*.cpp for C/C++ code. To tell what the default extensions are, take a look at the Select files to flowchart dialog (via the Bulk flowchart window). The default extensions are displayed at the bottom-left corner. Note: The Extensions option is only available for manually created job files.

This section includes a list of files or directories to process. Wildcards *? can be applied to file names, but not to directory names. You can list any number of files and/or directories.
File namec:\path\code.basProcess the given file. Visustin saves .vjb files with this syntax only. The other types (below) are used in manually created job files.
File specc:\path\*.extProcess all files that match the wildcards (*?). If Recursive=True, look for files in sub-directories too.
Directoryc:\path\Process all suitable files in the given directory. The directory name must end with a backslash \. If Recursive=True, look for files in sub-directories too. The "suitable" files are defined by the Extensions setting in the [Job] section. If Extensions is omitted, Visustin uses the default file extensions for the selected language.
List file < c:\path\files.lst Process files listed in a list file (files.lst). If the line starts with a less than sign < the following file name is the name of a list file. The list file name cannot contain wildcards. The list file is a plain-text file with the same format as the [Source] section, without the [Source] line. In other words, a list file is a simple list of file or directory names, one per line. You can create a list file programmatically to facilitate batch processing. Path names inside the list file are relative to the location of the list file itself. You can even nest list files by using the < syntax inside a list file.

Note: You will not get a warning if files listed in the [Source] section cannot be found on disk. Any missing source files will thus be ignored.

Absolute path and file names are recommended. Relative path and file names are relative to the .vjb file path. Relative path and file names in a listing file are relative to the listing file path.

.vjb version compatibility

Job files are generally compatible across different versions of Visustin. Since some options, languages or output formats are not available in every version, you may find incompatibilities. After upgrading to a new version of Visustin, open your job files with the new version to determine any incompatibilities. Visustin will show an error message if incompatibilities are found. In that case, check the options and save a new version of the file.

Bulk flowcharting is disabled in the demo version.

©Aivosto Oy Visustin Help