When your job involves working on a computer, repetitive actions can be the bane of your existence. They're not only tedious, but also (even worse) time consuming. Fortunately, in case you're forced to execute the exact same actions over and over again, you can create macros (scripts) that will automatically do them for you. Let's say, for example, that every day you have to open your downloads folder; to do this, you would normally have to click on 'Start', then on 'Documents' and from there finally click on 'Downloads'. Using a macro, you could simply run a certain file from your desktop or (even better) use a key combination, and the download folder will be automatically opened. (Of course, this was very simplistic, but you can use macro scripts to perform much more complicated tasks.)
Here you will find a list with some of the best automation tools on the market. These applications won't only help you improve your productivity with macros and various other shortcut options, but tare also free, which is always a big plus.
AutoHotkey is one of the most popular automation tools that you can find. This application offers extensive functionality, allowing you to create macros for any action or set of actions that you can imagine, but has a huge downside in the fact that it requires some scripting knowledge (you need to create the script by writing the code). What's really cool, though, is that if you're willing to dedicate a bit of your time, you can use this app even if you're completely new to scripting. The tool provides some awesome tutorials and help files which will give you all the information you need. Furthermore, the software has a large and helpful community that will provide you with answers to your questions and already-written scripts that you can download.
If you're curious about what you can actually do with AutoHotkey I'll give you a few examples: you can create keyboard shortcuts for any existing Windows action (launch applications, opening folders, putting your PC to sleep, etc.), add functions to Windows Explorer, come up with your own customized boss key, and even create full-fledged programs.
FastKeys offers a somewhat similar functionality, but has a GUI which makes things a lot easier for those who don't want to create scripts themselves. The application provides an extensive library of actions, all of them fully customizable to perfectly fit your needs. Additionally, the interface is nicely organized into five categories Start Menu, Shortcuts, Text Expander (automatically writes entire phrases), Auto Complete and Gestures, so you can easily find, edit and create exactly the kind of action you require.
FastKeys offers a large number of preset functions that will prove handy to everyday users, but may be a bit intrusive, as certain common actions trigger menu pop-ups which you may not like. (Of course, you can remove them if you choose to.) Even though the application keeps popping-up a message which urges you to buy it, you can simply ignore the text and use the tool without spending any money.
AutoIT is a reliable automation solution, but it also requires you to know how to write scripts, and that can be a big deterrent for many people. The tool uses a language similar to Basic which allows you to manipulate the mouse movement and actions, simulate keystrokes and control windows in a way that wouldn't be possible if you used, for example, VBScript.
Unfortunately, this application doesn't have as many tutorials or a large community like AutoHotkey, so I would only recommend it to more advanced users who have used scripts before or have a pretty good about coding.
Action(s) is a perfect automation tool for beginners, as it features one of the best-designed interfaces I've seen among this kind of applications. The tool comes with s huge amount of predefined actions which will help you automate a wide array of tasks. What's really cool is that after you've dragged the actions that you want to be performed automatically, you can test them out directly from the tool's interface and easily make adjustments in case they're necessary. In order to effectively use Action(s) you will need to spend a little bit of time getting used to its operating mode, but, as I said in the beginning, everything is easy to understand, even if you're a novice.
As far as disadvantages go, the tool requires Java to work, and I wouldn't recommend it to be used on low-end PCs, as it will take a long time to pre-load its entire list of actions.
In case you're in need of a simple tool to help you assign various actions to key combinations, HotKeyz is a great solution. This lightweight application features an intuitive interface which allows you to easily create your own key combinations, but also provides a large selection of presets that cover common functions which most users might require. What I really like about HotKeyz is that it can be ran as a portable application, which means that you can copy it to a USB memory stick and use the keyboard shortcuts you're familiar with on any computer you encounter.
This tool may not allow you to automatically control mouse movements or come up with complicated scripts, but it's a still a simple way to bind the actions that you need (launching applications, opening files, increasing your sound volume, etc.) to customized key combinations.
If you're asking for my personal feelings on the matter, I prefer using AutoHotkey as I'm already very familiar with it, but that doesn't necessarily mean that you have to like it as well. If you're an advanced user you will probably enjoy AutoIT more, while if you're not the kind to sit and write his / her own scripts, Action(s) or FastKeys may be much more to your liking.