The Internet is home to many free utilities that are helpful to scripters. However, finding such tools can be difficult because the Internet is so vast. So, we ran a contest in the September and October issues of Scripting Central to learn about the utilities that you often use and that other scripters might want to know about. What follows is a list of the free tools used and recommended by Scripting Central readers. (Note that Microsoft utilities aren't included in this list because most people are already familiar with those tools.)
AutoIt v3 and SciTE (http://www.autoitscript.com/autoit3)
Eric F. uses AutoIt, freeware designed for general scripting and for automating the Windows GUI. Eric likes the utility because "It's the middle ground between batch and VBS/WSH/ADSI/MSH." The latest version includes the new AutoIt v3 language. According to the Web site, "Unlike AutoIt2, the new AutoIt v3 language has a much more standard syntax--similar to VBScript and BASIC--and now supports complex expressions, user functions, looping and everything else that veteran scripters would expect." So, if you tried but didn't like this utility in the past, you might want to give it another try.
Adrian R. recommends the SciTE, an editor that's part of AutoIT v3. You can also download SciTE separately. Besides offering syntax highlighting, SciTE offers auto-completion and auto-indentation. Adrian notes that this editor will work with other scripting languages besides the AutoIt v3 language.
Blat is a Win32 command-line utility that uses SMTP to send email or uses Network News Transfer Protocol (NNTP) to post to Usenet. "Blat is probably the defacto standard for sending email messages, such as status reports, from batch files," notes David G.
CodeKeep Add-In (http://www.codekeep.net)
CodeKeep is an online repository of code snippets written in a variety of scripting and programming languages, including VBScript, HTML, and Visual Basic .NET. This Web site offers a free utility that Eric P. uses often: the CodeKeep Add-In for Visual Studio (VS). This add-in is a code snippet manager. "You can insert code from the snippet manager right into your script, and it is just as easy to save a snippet," says Eric.
"DumpSec is my all-time favorite freeware utility," notes Jim T. DumpSec, a Windows security auditing program from SomarSoft, can produce reports on NTFS permissions for file systems, printers, shared folders, and even registry hives. It can also provide valuable information about groups, users, rights, policies, and services. "I've been using this utility for many years now, and I can't tell you how much time it's saved me," says Jim. "But more important, it's dependable and accurate."
Next to the Sysinternal utilities (e.g., PsTools), Chris L. finds that Joeware utilities are next best bet for scripting. (Note that Sysinternal utilities aren't included in this list because Microsoft acquired the company late last year.) Among the tools you'll find on the Joeware site are AdFind and AdMod (tools to query and modify Active Directory--AD) and ExchMbx (command-line tool for working with Microsoft Exchange mailboxes). New to the Joeware site is a "Perl Stuff" page. Although there currently aren't any utilities listed, you might want to check the page in the future.
Message-Digest algorithm 5 (MD5) provides a way to verify data integrity. (For more information about MD5, go to http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html.) MD5WIN is graphical-mode Windows program for computing and comparing MD5 digest strings for files and text strings. "If a script needs to generate MD5 digests, this is the program to use for the job," says David G.
NirSoft is a Web site that offers a collection of free utilities, all of them created by Nir Sofer. You'll find "lots of fun stuff by this guy," says Chris L. There are a variety of tools available, such as MessenPass and NirCmd. MessenPass is a password recovery tool that reveals the passwords of IM applications. NirCmd is a command-line utility that lets you perform many different types of tasks (e.g., write and delete registry values and keys, change a file's created/modified date, open the door of a CD-ROM drive) without going through a UI.
Johan P.'s all-time favorite utility is a simple but useful editor named Notepad++. Notepad++ supports a wide variety of scripting and programming languages, including batch (.bat), VBScript, KiXtart, Perl, XML, HTML, Active Server Pages (ASP), and Visual Basic (VB). It offers features such as syntax highlighting and auto-completion.
The PSPad editor is on the recommendation list of John S. "I like it for Perl and use it daily." Besides Perl, PSPad supports many other scripting and programming languages. The features include syntax highlighting, code templates, a macro recorder, a full hex editor, a spell-checker, and the ability to handle plain text.
Although not a utility per se, Matt has found the Python language to be a valuable tool. "As a database admin, a language to easily automate tasks has been my most important tool," notes Matt. "I can develop scripts quickly and easily, and given the nature of Python code to be easily readable, I can understand my own code months after it was written. (This is not always a given!)"
Regular Expression Laboratory (http://www.silveragesoftware.com/rxl.html)
John S. regularly uses Regular Expression Laboratory to create regular expressions. This utility also lets you test regular expressions by applying them to arbitrary text.
If you write scripts in a cross-platform environment, you might want to check out the Vim editor. Michael V., who does scripting for both Linux and Windows systems, recommends Vim because, "Vim has the best of both worlds, with a command-line interface (just like UNIX) and a GUI for those who like menus and clicking. With a little effort, the editor can be tweaked to your personal likings with line numbers, fonts, and more for a seamless cross-platform workspace."
WinZip Command Line Support Add-On (http://www.winzip.com)
WinZip offers a free WinZip Command Line Support Add-On that lets you use WinZip directly from the command line and from batch files and other types of scripts. "I suspect that many people are unaware of the Command Line Add-On for WinBatch," says David G. "I use the Command Line Add-On to zip and unzip things in shell scripts (.cmd files)."
In response to the favorite utilities contest, one reader shared a noteworthy observation about utilities in general. Initially, Courtney J. relied heavily on utilities because of the limitations in the command-line world. "Then I found VBScript and Perl, and realized that my utility usage went from 35-60 percent down to 0 percent. Reason being: The more advanced you get with your languages, the less reliant you become on utilities. Today I find myself either creating subroutines/functions for extracting information, or rely heavily on WMI, then parsing that information in my scripts." Plus, Courtney also notes that, "I like to have control over my environment, and external utilities don't provide for that control."
Courtney and all the other readers who responded to the favorite utility contest were entered in drawing for $100. Chris L. was the lucky winner of that drawing. Congratulations to Chris and thanks to all the readers who took the time to share their favorite utilities!