Batch Runner
Run multiple programs in a batch..

Designed for testing, useful for all-sorts!

Welcome to Batch Runner, a simple program that enables you to run lots of other programs, in one big batch.

While originally designed for running test suites on in-development applications, Batch Runner has proven useful for all sorts of jobs where you need to run two or more programs one after another, or the same program over and over with different parameters or switches.

How does Batch Runner work?

Batch Runner's operation is very simple. The main GUI/window is a list of commands in the current batch, and a few controls for you to switch between different batches, run the batch, and so on.

Batch jobs are stored in Batch Runner's ini (configuration) file, and can be created, edited and deleted there, or from within the main GUI. You simply select a batch, and which commands you would like to run (all, by default), and then click Run batch!.

You can configure and store any number of different batch jobs, with any number (well, thousands) of commands within each batch. Commands (program paths, with any optional switches and parameters) run consecutively; when the first completes, Batch Runner starts the next, and so on, until all the selected commands have completed.
 
image of Batch Runner's main GUI, with my test batch selected
A log of each batch is created at the end of the job, recording the name of the batch processed, status of each command; success, fail, exit code, error code, time taken, etc.

Click the New command button to add a new command to the current batch. The add new command.. dialog appears for you to enter whatever commands and parameters you need, as many as you need.

You can drag and drop applications, folders, and files onto this dialog to have their paths pasted automatically into the input - building complex commands with switches and optional parameters is quite painless. You can even drag in multiple items (Batch Runner will put spaces between the items, so you don't have to). image of Batch Runner's 'Add New Command' GUI, where you can add commands to the current batch

The command list has a context menu; you can right-click it and do stuff, edit selected commands, delete commands, and so on. Between all these controls, you should be able to do pretty much everything you need.

Apart from delete batches, that is. To do that, hold down the SHIFT key when Batch Runner is active, and the New batch button will switch to a Delete batch button, which will do exactly that. Careful now.

image of Batch Runner's 'Edit Command' GUI, where you can edit commands from the current batch
Note: the edit dialog behaves exactly like the add new command.. dialog; you can drag and drop stuff onto it, etc. It also shares the same dimensions and position, so wherever you put one, the other will also be, the next time you use it.

All the dialogs remember their size and positions (except minor prompts), and along with a few other preferences, this information is stored in Batch Runner.ini, which lives next to Batch Runner itself. In there, you can also change some of Batch Runner's behaviours..
 

User Preferences

All Batch Runner's preferences are stored in a standard, plain-text Windows ini file, named Batch Runner.ini. Simply drop it into any decent text editor and edit away. If you mess up, you can delete/rename the file, and Batch Runner will drop a new one into place, automatically. These are the preferences which you may usefully alter..

log_path=Batch Runner.log
Name of the log file. Leave this blank to disable logging.

Note: You can use a full path here, if you don't want to log into the program's folder.

You can also use @tokens in the log_path preference. These will automagically convert to real values when the log is written. Available tokens..

@Desktop
Your Desktop.

@UserDir
Batch Runner folder in your User Application Data folder (aka. "AppData").

@batch
The name of the current running batch.

@sec, @min, @hour, @mday, @mon, @year, @wday, @yday, @now, @date

Various time and date tokens, in order, current; seconds, minutes, hour, day of month, month, year, day of week (1-7, Sun to Sat), day of year (1-366, 355 if a leap year). All values are numeric.

There are also a couple of special short-format tokens; @now, which translates to the full date and time in the format "year-month-day @ hour.min", e.g. 2007-09-21 @ 22.09, and @date which is simply "year-month-day", e.g. 2007-09-21. They can be combined in any way you choose.

Note: If you use dynamic tokens in your log, you can do all sorts of interesting things, create batch-specific logs, auto-rotating logs, and more. It also means you will create more logs. For most people, simply using a single file name is the best approach; Batch Runner will append all new logs to that one file.

select_all=true
When you select a new batch, all the commands are automatically selected, ready to run.

show_tips=true
Helpful pop-up ToolTips for all the controls.

notify=true
Batch Runner will pop up a notification when complete. Or not.

warn_delete_batch=true
Warn about deleting batches.

warn_delete_command=true
Warn about deleting commands.

min_width=430
Minimum width of the main gui - it will snap back to this.
430 pixels is the recommended minimum width.

min_height=96
Minimum height of the main gui - it will snap back to this.
96 pixels is the recommended minimum height.


 
All other ini sections will be your actual batches. You can create and delete batches, as well as add, edit and delete their commands from inside the Batch Runner interface, so there's no real need to edit them in the ini file. But if you prefer that, it's easy enough; the batches are in a very simple format..

The section [name] is the name of the batch, and each preference is one single command in the form, name=command. For example..
[compaction example]
compress reports=compact.exe /C /S I:\work\documents\reports\*.log
uncompress reports=compact.exe /U /S I:\work\documents\reports\*.log

 

Portable operation

Batch Runner will happily operate in a completely portable state. Basically, if there's an ini file next to Batch Runner, it will use it, and if there's not, it will use the one in your Application Data folder (in your user folder). In other words, if you want portable operation; simply place a Batch Runner.ini file next to Batch Runner.exe.

You can run multiple instances of Batch Runner, too, even all at once, with completely different settings for each instance. No problem.
 

Command-line operation

When launched, Batch runner usually loads the last-used batch and presents a graphic interface for you to work with your batches, but you can override this behaviour on the command-line.

Batch Runner accepts two (optional) command-line parameter; 1) the special switch: run, which instructs Batch Runner to run the batch immediately without the GUI - you can script and schedule Batch Runner, even run it from inside Batch Runner - think about it; and 2) the name of the batch e.g. to immediately run a batch called "test batch", use..

Batch Runner.exe run test batch

NOTE: Spaces in batch names are not a problem.

To immediately run the current (last-used) batch job (stored as current_batch inside Batch Runner.ini), use..

Batch Runner.exe run

To startup with a different batch (in this example, a batch called "some batch") loaded and ready-to-use, do..

Batch Runner.exe some batch

NOTE..
 

For example..

As well as creating ad-hoc "test suites", there are a number of real-world uses for Batch Runner. For example, because many applications, especially newly-installed applications, have a bad habit of stealing important file associations, I keep windows registry (.reg) files with all my own custom file associations, along with myriad context commands, custom icons, and so on. Every so often I need to merge all four of these (one each for text types, image types, multimedia, and miscelleneous types), and then once complete, run Loki's ever-useful icon rebuilder (also available inside the checksum distro).

After lots of practice, and by keeping shortcuts to these reg files in my favourites menu, I can do the whole lot in under five seconds. But with a single Batch Runner shortcut with this command-line (aka. "Target")..

"C:\Program Files\corz\Batch Runner\Batch Runner.exe" run reset file types

I can do it all with one click, thereby saving ten clicks off my daily RSI allowance. Inside my Batch Runner.ini, is a batch very like this..

[reset file types]
image types=C:\WINDOWS\regedit.exe /s "I:\work\custos\reg\context\image types.reg"
miscy types=C:\WINDOWS\regedit.exe /s "I:\work\custos\reg\context\miscy.reg"
multimedia types=C:\WINDOWS\regedit.exe /s "I:\work\custos\reg\context\multimedia.reg"
text types=C:\WINDOWS\regedit.exe /s "I:\work\custos\reg\context\text types.reg"
rebuild icons=C:\Program Files\ui tools\RebuildIcons.exe


 

.bat files

As well as regular programs, you can also add.bat (aka "Windows Batch Files", or "shell scripts") files. These days, most people have their .bat files' default action set to "Edit", preventing the inadvertant execution of malicious scripts. However, this can make it difficult when you actually want to run  a .bat file, unattended.

Using Batch Runner, you simply insert the path to the .bat file, and run the batch like any other; making it a doddle to script and schedule .bat files, even long lists of them, without the need for unsafe default file actions.

 

Scheduling Batch Runs..

It's easy to setup a schedule for a particular batch; Control Panel >> Scheduled Tasks >> Add New Task, browse for Batch Runner, continue to the advanced properties, add your batch, and so on. I find the whole experience painfully unproductive, and prefer to use the command-line. The above example, as a scheduled task, could be setup like so (in a command console/shell/Run Command/etc.)..

schtasks /create /sc daily /tn "daily file types reset" /st 07:00:00 /tr "\"C:\Program Files\corz\Batch Runner\Batch Runner.exe\" run reset file types" /ru USERNAME /rp MyPa5sWw04d

Note: although extremely likely to be split into two lines or more in your web browser, the entire command must be entered into your console as one single line, replacing "USERNAME" and "MyPa5sWw04d" with your own details, of course. Easier; drop the whole command into a text file, give the sile a .cmd extension, and then you can edit and run it whenever you want to set a scheduled task the easy way.

 

Itstory..

Embedded fresh from..
http://corz.org/engine?section=beta/windows/batch runner&source=version.nfo

 

    #####    ###     ##  ### ########             ###     ##  ###    ###TM 
  #######  #######   ####### ########           #######   #######  ####### 
 ###      ###   ###  ###         ###           ###   ###  ###     ###   ## 
 ##       ##     ##  ##         ###            ##     ##  ##      ##    ## 
 ###      ###   ###  ##       ###              ###   ###  ##      ###   ## 
  #######  #######   ##      ########    ###    #######   ##        ###### 
    #####    ###     ##      ########    ###      ###     ##           ### 
                                                                     ####  


  Batch Runner Pro
  Run multiple programs in a batch..
  
  http://corz.org/windows/software/batch-runner/
  http://corz.org/windows/software/batch-runner/batch-runner-pro.php
  
  (c) corz.org
  
  itstory.. aka 'version history'.. aka 'changes'.. 
  [known bugs at the bottom] 
  
  Key..
  
      * Fixes
      ~ Changes
      + New stuff
  
  
  Last updated: Tuesday Mar 26, 2013


  1.0   Batch Runner Pro

        The new title says it all. This is a seriously beefed-up Batch Runner, 
        designed for professional testing environments. These changes are mostly 
        sponsored by the guys over at FEI who use it to help test their 
        world-renowned electron microscopes. Thank you!

        Almost everything is new, here are the highlights..


    +   "Pre" and "Post" tests.
    
        Batch runner can now run three individual sections of commands, aka. 
        "tasks". A "Setup" section, which runs before the main batch, and 
        a "Wrap-Up" section, which runs after the main batch.

        These three sections each have their own tab which works almost* exactly 
        the same way as the old Batch Runner list, except there are now three of 
        them.   (*it now has more functionality)

        The names of the sections are also configurable.


    +   Batch Cycling.
    
        The main batch can now be looped. You can set also the overall duration 
        of the main batch. Setting a duration of 0 (zero) instructs Batch 
        Runner to keep cycling the main batch tasks until the user (or some 
        catastrophically failed task) tells it to abort.


    +   Random Cycling.    
        
        By "random", I mean computer-generated random, which would be pseudo- 
        random. You probably don't have the computing power for truly random 
        numbers, if such things can even be actually generated. However, it's 
        "random enough" for our purposes, enabling you to create more realistic 
        test suites.

        NOTE: This even works if you are /not/ cycling the batch, Batch Runner 
        will run through the tasks randomly until every task has been completed 
        ONCE (unless the times runs out in the middle, of course).

        Also note, Batch Runner can disable the randomize option so it won't 
        appear in the GUI - this prevents undernerdlings from accidentally 
        altering your batch's randomize settings, be they enabled or disabled in 
        the global or per-batch scope..


    +   Per-Batch Options.

        The cycle, randomize and time limit preferences, available inside the 
        main Batch Runner GUI, each have a "master" and "per-batch" setting. New 
        batches, or batches without their own options, inherit the master 
        settings. Any changes you make to these settings when a batch is loaded, 
        get stored (and loaded again) along with the batch.

        If you would like to see some other setting available in the per-batch 
        scope, let me know.


    +   Counters.

        While cycling the main batch, Batch Runner will keep a tally of the
        total number of times a task has completed, as well as the number of
        times a task failed (returned a non-zero result). These tallies are
        updated live in the GUI and log during a batch run. A simple summary of 
        passes/fails/errors is also saved in your log.


    +   Color-Coded Live Results

        Batch Runner can color-code the main batch display so you can see, at-a-
        glance which tasks have succeeded, which have failed, which have failed
        more than once and which, for some reason outside Batch Runner's control,
        wouldn't run at all. The pre-configured colors are:

            Green:  Success
            Red:    Fail
            Purple: Multiple Failures
            Pink:   Catastrophic failure (abort condition)
            Yellow: Unable to run command.
 
        Note, we avoid blue, which can be hard to distinguish from the Windows 
        standard theme selection color.

        These colors can, of course, be configured in your prefs. If you want to
        use red for everything except success, fine. You can also set default 
        (reset) colors for text and background.

        So the list has to now display report colors /and/ selection colors. 
        Here's how to easily see both..

        To view the current selection, simply activate the list. The easiest way 
        to do this, without destroying the actual selection, is to click on the 
        column headers.

        To see the report colors again, simply click outside the list, for 
        example, in the batches drop-down. Deselecting a row (Ctrl+Click) also 
        reveals its report colouring. Note, even in report view, you can quickly 
        deselect an item with a Ctrl-Click.

        Because of this simple functionality, if you are working with selections
        and click "Run Batch", the list immediately switches to report view so
        you can watch all the pretty colors.

        You can also instruct Batch Runner to ignore any current selections and
        always run /all/ the tasks in the batch. Whatever your working style, 
        Batch Runner Pro has an option!


    +   CountDown Timer.

        If you depress the<Shift> key, the "Run Batch!" button turns into a 
        "CountDown" button. Click it and you can enter a time to wait until 
        beginning the batch run. The time input format is the same as the Time 
        Limit input (5{minutes}, 25s, 2.5h, etc.).

        If you have TitleBar time enabled, you see a visual countdown, showing 
        time remaining until the batch run begins.

        Holding the <Shift> key whilst activating your chosen Run HotKey 
        ("Enter", by default), gets you directly to the Countdown timer 
        input. In other words, the HotKey for "Run Batch after Countdown" is 
        Shift+Enter.


    +   Windows Standard List Selection Behaviour!

        Unlike regular Batch Runner, Batch Runner Pro uses a ListView control to
        display the tasks (the old ListBox couldn't DO enough). This major 
        overhaul to the GUI has brought with it many benefits (and a lot of 
        work!). One of these is that you can use standard Windows Crtl+, Shift+ 
        and Ctrl+Shift+ modifiers to select and deselect commands in the task 
        list.


    +   Error-Level Actions.

        Batch runner can respond in two ways to commands returning failure 
        (non-zero) results. Either a) Notify & Log the error and continue 
        (positive return values) or b) Notify & Log the error and abort the 
        batch run immediately (negative return values), move on to wrap-up 
        tasks.


    +   Live Logging. 
    
        Rather than dump a log file at the end of the entire operation, Batch 
        Runner will now update the log with each task, enabling you to keep an 
        eye on the results. Even the current task will be in the log, minus 
        result, of course.

        It should be noted that logging preferences are loaded fresh for each 
        run so if you make some change to your logging preferences, it will take 
        effect as soon as you begin a new log - no need to restart Batch Runner.

    +   Log Timestamps.

        Each log entry can be prefixed with a Time-Stamp. You can also configure 
        the separators for this, if you desire. You can also have Batch Runner 
        Pro TimeStamp only the command lines or *all* the lines, the former 
        being more readable by humans, the latter by machines.

        Quite a few other aspects of log output are now also configurable, as 
        well as more intuitive and easy-to-use, a lot more information is 
        logged. See your automatically-updated ini file and generated log for 
        more details!

        And don't forget you can use @Tokens in the log name, so you can have 
        Time-Stamped log names, too, right down to the millisecond. Or auto- 
        append existing logs, or automatically order them into time-stamped 
        folders, or a combination, whatever suits you best.

        You can also specify UTF-8 logging, with or without the BOM, as well as 
        which kind of linefeed character to use; "CRLF""CR" or "LF" (Windows, 
        Mac or *NIX, respectively).

    +   The View Log menu item will now work from the moment a log is created, 
        so you can easily get to your log from Batch Runner's tray menu. If you 
        select a new batch for which a log already exists, again, the menu item 
        will be available immediately - no need to go fishing about in your file 
        system.


    +   Configurable executable types.

        You can drag and drop .bat, .com, or whatever you like; as well as 
        regular .exe files, of course) onto Batch Runner's list to automagically 
        add new tasks. Previously you could only drop .exe files. You can use
        whatever you like when entering commands with the add command dialog.


    +   Smart Auto-Size Columns.

        Batch Runner does a pretty good job of auto-sizing your columns to fit
        the content into the GUI, and importantly, keeping them that way when 
        you resize the window. You can also override the size of the counter 
        column and let Batch Runner do the rest, or disable this, and keep your 
        column widths static no matter what you do to the GUI.

        You can drag the columns around (by their headers) to re-arrange them.


    +   Title Bar Timer.
    
        This is optional, of course. Batch Runner will update the time, live, 
        for the entire duration of the batch run, even during long tasks.


    +   Duplicate and Rename Batch options added to the Batches Drop-Down.


    +   Advanced GUI Controls For Advanced Users..

        A new user, looking to create a new batch will click the "New Batch"
        button and be presented with a dialog in which to enter a name, <OK> and 
        they are done. Fair enough. 
        
        An advanced user will type the new name directly into the control and 
        /then/ click the "New Batch" button. The new batch is created and 
        displayed instantly, bypassing that tedious dialog altogether.

        Same story for the Rename and Duplicate batch controls. More time-saving 
        features for folk just looking to get the job done!


    +   New HotKeys:

            <NUMPAD+> = Add new task
            <Delete> = Delete the currently selected task(s)
            <Enter> = Run the current batch
            <Pause/Break> = Pause/Resume batch run
            <Ctrl+A> = Selects all tasks in the list
            <Ctrl+L> = View log file for current batch
            <Ctrl+P> = Edit preferences (ini)
            <NUMPAD-> = Abort batch run

        You will probably spot how batch run control is all together at the 
        right hand side of the keyboard. Not being entirely sure how handy this
        is on Tenkeyless keyboards, I made those keys configurable. Knock 
        yourself out!


    +   Portable Batches.

        Batch Runner has always had the capability of running in a portable 
        state**. Now, so can your batches! Batch Runner will automagically and 
        transparently transform paths of commands within the batch runner folder 
        (or sub-folder). This  won't interfere with drag and drop commands or 
        clipboard paths but will enable you to distribute entire test suites, 
        batch runner included, setup and ready-to-go,

        ** Note: Batch Runner has now inherited my "portable" switch. If you
        use this on your first run, Batch Runner will setup itself to run in 
        portable mode, which basically creates a new ini file in the program's 
        folder and sets that as the logging location. If you do it with an 
        already-installed Batch Runner Pro, rather than create a new ini, your 
        existing ini will be moved to beside the .exe.

    +   Run Single Commands.

        Added batch list context menu option to run the currently selected
        command. Just like running the main batch, you get a color-coded
        result in the GUI - handy for testing commands. Note, Batch Runner
        will not attempt to hide the windows of launched processes during
        a single command run, even if that is the default setting for batches.


    +   Re-ordering of tasks. Select "Edit List" from the list's context menu
        to get a dialog where you can re-order and sort your task list.


    +   You can now drag & drop multiple programs onto the task list to create 
        many tasks all-at-once. Enable auto-naming for maximum productivity..


    +   Auto-Name Tasks:

        If you have a lot of commands to add, or have no need for names for your 
        tasks, you can enable auto-naming, and let Batch Runner take care of it, 
        dragging and dropping to your heart's content!


    +   Backward-compatible with old Batch Runner batches. Batch Runner Pro will
        update your ini file with all the new preferences and features, leaving
        your old settings and batches intact, automatically.


    +   Both 32 and 64 bit versions available.


    +   Added a new "launch" command-line switch you can use to launch a batch 
        in the GUI from the command-line. 

            c:\path\to\Batch Runner Pro.exe launch <Batch Name>

        Also "launchdie" which does exactly the same as "launch" except, you 
        guessed it, dies at the end of the batch run (assuming it ends).
    

    +   More command-line options:

        You can still run and load batches from the command-line. But now you 
        can create them, too. Simply send the name of your new batch on the 
        command line and have it created and loaded, ready to accept new tasks.

            c:\path\to\Batch Runner Pro.exe My-New-Batch

        You can also use this same functionality, as ever, to load existing 
        batches directly into a newly launched Batch Runner Pro GUI.

        When loading or creating batches in the GUI from the command-line, 
        it's usually best to enclose any batch names containing spaces in 
        "quotes", e.g..

            c:\path\to\Batch Runner Pro.exe "My New Batch"

        This isn't necessary when running batches from the command line with 
        "launch""run" or "launchdie", this would be fine..

            c:\path\to\Batch Runner Pro.exe launch My New Batch


    +   Auto-Refreshing Log: 
    
        During long tasks, Batch Runner can keep your log file updated, which 
        can be useful when incorporating with other systems. A refresh interval 
        can be set, after which time, Batch Runner Pro will append a simple "." 
        (dot) to the current log line (altering its update time, size and 
        checksum). When the task is complete, these dots are removed and the 
        result takes their place, as if nothing happened.


    +   Batch Runner Pro is the first program to adopt my new software licensing 
        model. From your side of things, the biggest change is that everyone now 
        gets their own specific key. Also it's a lot easier to enter!

        You can now also get to the registration dialog by clicking the Batch 
        Runner logo in the About Box. <Shift>+Click to force up the dialog if 
        you went to re-register for any reason. Click the registered-to address 
        for custom options.
        
        By the way, you can quickly get to the About Box via the secret HotKey: 
        Win+Alt+A.


    +   Online Version Checking - Batch Runner Pro can optionally check for 
        newer versions of itself and optionally direct you to the download page.
        
        You can also specify the interval between checks, which are performed 
        when Batch Runner Pro quits. The first time it attempts this, it will 
        ask you to specify the interval between checks, in days. If you wish to 
        disable version checking altogether, enter 0. It is nifty, though!


    +   Added a minimize button to the main GUI (it's often easier than heading 
        to the tray!)


    +   LOTS of under-the-hood improvements both inside and out. If it's possible
        to anticipate a user behaviour or best option, Batch Runner Pro will. If 
        there is some way to shave seconds off your workflow, Batch Runner Pro 
        will do it.

        For example, if you delete a batch from the batches drop-down, Batch 
        Runner Pro won't simply load the next batch, it will load the /previous/ 
        batch, up to a total of one hundred batch selections being remembered 
        internally. Every little helps!


    +   MANY new options in your ini file, things once hard coded are now
        preferences, enjoy!


    +   Added a new option to the Batches context menu - "Save As AutoRun"
        which saves the current batch as a clickable command that will launch 
        Batch Runner Pro with the current batch, run it and then die. You can 
        also select from foreground or background operation.


    +   Batch Runner Pro will now resolve shortcuts (.lnk files) of dropped items.



    ~   There is now a single menu item for pause/resume, its function switching 
        depending on the running state. The HotKey is still easier!



    *   Fixed a potential log path issue which could kick in if you used a very 
        long log name in a very short path.
    



  Batch Runner FREE:

  0.6.5
  
    +   Batch Runner will now check for potential looping conditions. While
        this is unlikely, it is possible to run, for example, a command that 
        runs Batch Runner with the command that runs Batch Runner with a 
        command that runs Batch Runner, and so on, and do nothing except spawn 
        zillions of instances of Batch Runner. Eventually, this could bring 
        the system down. 

        Now you can set a limit in your preferences, up to a maximum of ten 
        instances.

  0.6.3

    +   Added a "View the Log" option to the system tray menu, which activates 
        once a log has been created, and will always load the most recent log 
        into your preferred editor.

    +   Batch Runner will now create (up to 9) sequential backups of deleted 
        batches inside the ini file (if you create and delete another batch
        with the same name).

  0.6.2

    *   Fixed a bug where deleting all the batches would incorrectly set the 
        current batch to a deleted batch. Also, Batch Runner could be fooled 
        into loading its own preferences as a batch, if you set them as the 
        "current_batch". It should now be impossible to fool Batch Runner into 
        loading such a batch, non-existent batches, etc.

    ~   Attempting to add a new command when there are no batches will now 
        first bring up the "New Batch" dialog, so you have something to add 
        the command to.


  0.6.1

    +   Batch Runner now uses a different tray menu while running commands.
    
    +   The tray icon now flashes during batch runs, to let you know it's 
        active (in both gui and background mode).

    +   Added Pause, Resume and Abort menu items to the System tray menu that
        appears during batch runs - kinda essential, really. During pause, the 
        tray menu icon stops flashing.

    +   You can now drag and drop programs directly onto Batch Runner's main 
        command list. 

    +   Added "Delete" HotKey to delete the selected commands from the list.

    +   Batch Runner now checks for out-of-desktop dimensions, and fixes them 
        automatically.
    
    +   Added an "Edit Preferences" option to the tray menu - you can set your 
        preferred editor in the prefs, too.

    ~   Started a habit of making all message boxes run as children of the main
        GUI so there's only one taskbar entry during warnings and such. It's
        something I've not really considered before - I usually click such 
        things immediately away. This is tidier.

    +   Cleaned up some of the dialogs and what-not, correct icons, modality, 
        window titles, and so on.

    +   Added "beep" option to have an audio alert when the batch is complete. 
        This might be useful when running batches transparently, with no GUI.

          Options..

            false           no audio
            true            use default PC speaker beep at 1000Hz
            <number>        beep PC speaker using this frequency (in Hz)
            <file path>     play this WAV file

    +   Added more exit codes - handy if running Batch Runner from inside 
        Batch Runner, scripting it, or whatever..

            0       Normal termination
            -9      User hard quit from tray.
            -1      One or more of the batch's commands failed 
                    (exited with an error state)
            5       Chosen batch is missing or invalid (in background mode)
            171     Missing ini file (and couldn't create one)


  0.5  [first public release]

    +   Added <enter> hotkey to the add & edit inputs - more intuitive.

    +   Incorporated a few more of my usual app "features"; namely, auto ini 
        updating (leaves existing batches and settings intact), optional 
        portable operation, ini @tokens, etc., as well as lots of associated 
        functionality, auto-log folder creation, and so on. I also created a 
        new token; @batch, which translates to the name of the batch being 
        run, as well as a couple of new date & time tokens, @date and @now.

    +   Added context menu to the combo drop-down, with "reload" option - only 
        really useful if you have only one batch, and add a batch to the ini 
        manually, and want it to show in the menu. 

    +   Added a "Reload list" option to the list's context menu.

    +   Expanded command-line options to include the "run" keyword, which 
        invokes Batch Runner to immediately execute the current batch and 
        exit. You can also specify a batch on the command-line (spaces in 
        batch names are okay). e.g. to run "foo bar batch" immediately, do..

            C:\Path\to\Batch Runner.exe run foo bar batch

    +   When you specify the "run" switch, Batch Runner launches as a background 
        process, runs the specified batch, and then exits. No GUI is created.

        It perhaps doesn't go without saying that as well as scripting and 
        scheduling Batch Runner, this means that you can run instances of 
        Batch Runner from *inside* Batch Runner, as Batch Runner commands. 
        Think about it. ;o)

    +   Batch Runner will now return a valid exit code on exit. If all was well, 
        the exit code is 0. -1 means one or more of the commands had an exit 
        error. The individual application errors will be in the log, if created.

    *   Fixed a bug where the normal tray would appear in background mode; there
        is now a separate tray menu for this, with one item - Exit, which will
        quit Batch Runner after the current command completes.

    +   The current running command is now displayed in the System Tray ToolTip.


  0.4

    +   Added delete warning messages, and ini options (you can switch them off).
        
    +   Added help ToolTips, and an option to disable them, if required.

    +   Batch Runner will now select all the commands in a newly selected batch, 
        so it is ready to run. This behaviour can also be disabled in the prefs.

    +   Added drag+drop to the add/edit dialogs, as well as cool height snapping.

    +   Added Tray toggle and tray menu (about, exit & run batch)

    +   The gui controls will now grey out during batch runs, to avoid potential 
        confusion and mishaps. Also the tray icon becomes unclickable.

    +   Added backup for deleted section (they are renamed "deleted-section"
        and will no longer display in the drop-down (though remain in the ini, 
        just in case). If you want to completely delete a batch, you must do 
        this in the ini.

    *   Editing commands no longer loses the command's selection in the list.


  0.3

    +   Added more buttons, New Command, New batch, and an edit command for the
        list's concept menu, as well as the dialogs to handle these.

    +   A few minor improvements to the gui, spacing, control resizing and such. 
        The gui now has a minimum size it will snap to if you make it too small.

    *   I fixed the window size drift. That always annoys.

    +   Batch Runner can load-up a new default batch on the command-line, e.g..

            C:\Path\to\Batch Runner.exe My Batch


  0.2   

    +   Added list concept menu - now you can delete and select commands from 
        the menu. Added preferences for height, position, etc., which are saved 
        to the ini file.

    +   Lists are a pain. I'm gonna be using the UDFs for this one!


  0.1   

        Basic batch running - a list, a drop-down, and a "Run batch!" button. 
        All editing is via the ini file. Batch Runner also does basic logging.


    *   



 

Batch Runner info complete!

That's about it for Batch Runner. Hopefully it should be intuitive to operate, and you won't have any problems running batches of programs without any more help from me; but if you do have any questions, or issues, or find a bug; feel free to leave a comment below.

The current release version is 0.6.5, here's the download link..

 


Batch Runner.zip hashes:
MD5: 5dabe2346890398df8795ca123763c62
SHA1: 55faa4f0da67da53ecd869ac878b98d638ad7d4a
 
 
 
cbparser powered comments..

koti - 22.08.08 5:01 am

nice


Macy - 04.10.08 12:15 pm

Just what I was looking for! Worked great. Thanks!


looks Tasy - 24.11.08 8:45 pm

Would be swell to have many apps start from a single icon, depending on what I intend to do. This could be very handy indeed!!!

Sure, simply create a batch, and then make a shortcut somewhere using the command line (aka, "target")..

C:\path\to\BatchRunner.exe Batch-Name

Voila! Single-clickness!

But remember, the second item won't run until the first completes, and so on. If you want lots of programs to start all-together, make a simple batch (.bat) file, like so..

@echo off
start "Firefox" "C:\Program Files\Mozilla Firefox\firefox.exe"
start "Notepad" "C:\Windows\Notepad.exe"
start "SomeOtherApp" "C:\Program Files\Other stuff\other.exe"


And create a shortcut to it.

;o) Cor



Bravo - 21.12.08 8:40 pm

Nice software!

Is it possible to create a new batch in command-line?

I wanna create a new batch, run it, and delete it right after.. all using command-line.. can I ?


Thanks a lot

The whole point of Batch Runner is that you can manage and execute batches of commands without using the command line. If you are in a command prompt anyway, why not simply enter the commands!?!

Using the command-line to create a batch inside Batch Runner.ini, run Batch Runner with that batch, and then delete it again, is doable, but seems crazy. Sure, you could have some fun with setini and getini (two small, but beautiful programs from an eon ago), to manipulate Batch Runner's ini file from the command-line, but again, why bother?

Or did you mean run the commands from inside a .bat file? Again, simply list the commands you want to run, and they will run, one at a time. If you are going to delete the command list afterwards, there's not much point in using Batch Runner at all.

Or did you mean something else? If you tell me exactly what you are trying to achieve, I might have you a better solution for you.

;o) Cor



Chosen One - 21.01.09 6:57 am

This is very useful.Good work buddy !
But I have created a batch called 'RManRest'.to schedule the same , I created a dos batchfile 'StartRman' which should start the 'RmanRest' batch runner.Is the following syntax inside 'StartRman' correct ?

"Batch runner.exe RManRest"

Thanks for the help

Arshad.

The correct syntax would be..

C:\path\to\Batch Runner.exe run RManRest

However, if you are scheduling a batch run, you don't need a .bat file to do it, put the Batch Runner command directly into your scheduler..

Control Panel >> Scheduled Tasks

;o) Cor



Al - 27.06.09 9:31 pm

I would like to run an anti-spyware program followed by an anti-virus program from a single entry or keystroke.
How do I do this?

You mean both together, right? Use a batch file. Details in comments above, I'm pretty sure. ;o)



Tomaz - 04.01.10 12:24 am

Hi there!
Nice tool and I would like to use it but I am missing something:
I would like to see setting for "Start in" folder for every command.
I am running programs which are sensitive for where they are started from.
Is this a big deal to have?
T.


Richard - 04.01.10 8:18 am

Hello,

I added 3 commands into one batch.

When i run the batch it only executes the first command. It never executes the second of third command.

Batch Runner keeps running but basically does nothing.

It sounds like command 1 did not complete. ;o) Cor



Jed - 18.06.10 11:06 pm

Is it possible to run the same program more than once using this?

Yes. ;o) Cor



neil - 15.11.10 3:13 am

I need to be able to stop one program before i start another. can i do that? how?

Use Batch Runner (above). ;o) Cor



czaz - 19.05.11 8:29 pm

I can see the commands in the GUI, but where do I find the .ini file to edit. Or have I got this completely wrong.

Right-click Batch Runner's tray icon, select the "Edit Preferences" option.
Note, you can edit commands from inside the GUI, too - right-click the list for options.

;o) Cor



Usman Arif - 17.02.12 6:17 am

smiley for ;)


Taff - 27.08.12 1:49 pm

Brilliant!


John Veltman - 06.09.12 8:58 pm

Dear MrX,

I'm working for a company called FEI. I'm thinking of using your batch runner to start tests. One thing I'm missing is a repeat counter in the main window. I like to run a batch over and over again(x times), Is this something that you can create?

Best Regards,

John Veltman

It's certainly doable. I'll make a note in my 2do list for the next version (repeat + counter, done.), this isn't expected to appear soon, however. If you need something done faster, get in touch. ;o) Cor



André Lecastel - 04.04.13 3:31 pm

Very fast program, hard to live without it once you've tried it... Thanks for maintaining it! smiley for :geek:


 

Leave a comment, become part of this site!


First, confirm that you are human by entering the code you see..

(if you find it difficult to read, refresh the page for a new code)


Enter the 5-digit code this text sounds like : lower-case aitch, Upper-Case Jay, s-heaven, lower-case ex, Upper-Case Ee