Surviving Windows Toolbox

I have to use windows for a few things at my new employeer. I’ve found a few programs that I just cant survive using windows without.

  • Launchy – Gnome-do like launcher
  • Quotefix – Properly bottom post when replying to emails
  • IsoRecorder – Right click iso and burn
  • Cygwin – Linux-like environment for Windows

I still spend very little time in windows so its not too bad but when I am there not having access to those tools drives me batty. What tools do you use to make windows bearable when you are being abused?


  • Ruby. Familiar scripting tool for bit wrangling.

  • Dusty Wilson Ubuntu Firefox 3.0.11 wrote:

    Must have bash and perl.

    I only use Windows for building and testing my apps. I refuse to use it otherwise. My enjoyable employer lets me use whatever I want (it’s good to be the boss).

  • z0mbix Mac OS X Firefox 3.5.1 wrote:

    I’ve recently had to do exactly the same thing, and use the same tools. Have you tried console2? Combined with cygwin, it almost feels like your on a UNIX box:

  • +1 for Console2

    I’ve recently started indulging a fetish to escape from the GUI form for setting the environment variables I’m interested in. It isn’t repeatable, nor transferable between machines, It can’t put env var changes under source code control, it’s almost impossible for users to tell whether they are entering the same path several times, and if the registry entries it sets were to get blown away, there is no way to restore the values.

    I’ve experimented with a few approaches to fix this. If anyone has any better ideas I’d love to hear them:

    Running a .bat script with ‘set’ commands obviously only sets them for the current shell, which isn’t adequate.

    Setting such variables in AUTOEXEC.BAT (in C:\) or AUTOEXEC.NT (in windows/system32) is better – it does set the values for every process – but these files do not get run on all windows machines (particularly my personal winxp lappy, for reasons unknown.)

    Installing WinXP SP1 Support Tools gives you the ‘setx’ command, which sets the variables in the registry (defining them for all future processes) and sends an ‘environment variables changed’ win32 message (notifying explorer and the taskbar immediately, so you don’t need a reboot to see the changes in subsequent cmd windows, etc) However, it has the drawback that if used to append to the path, then it will repeatedly append the same thing every time the script is run. Plus, there are complications when using %Path% – which is derived from two registry entries (current user and local machine) to set the registry entry for %Path% – by default setx sets the local machine one. The result is that the system entries end up in both the local machine registry key, and appended to the current user one, and hence appear twice in %path%. Getting DOS to filter out all these non-unique path entries is beyond my DOS scripting skills.

    I tried writing a Python script to set the registry entries the way I want it. This makes it easy to code around the problems that ‘setx’ introduces. The results are here:

    It does set env vars for all future processes, without needing a reboot. But the problems are that (a) the changes it makes are not seen by the invoking shell (b) it requires installing python before it will work, and (c) the resulting script is a bit fiddly and complicated for such a simple task.

    My best solution thus far is to go back to .bat scripts, using the following pattern:

    set Home=%HomeDrive%%HomePath%
    reg add %KEY_CU% /v Home /t REG_EXPAND_SZ /d “%Home%” /f

    set Path=
    set Path=%Path%;C:\this
    set Path=%Path%;C:\that
    set Path=%Path%;C:\theother
    reg add %KEY_CU% /v Path /t REG_EXPAND_SZ /d “%Path%” /f

    This sets the env vars in the calling shell. It also sets them in the current user registry key. The one thing it doesn’t do at the moment is send a win32 ‘env vars changed’ message, so it requires a reboot for changes to be picked up by taskbar and explorer, so that future cmd windows will then start to see the changes. Hopefully I can fix this soon.

    It blows the path away, deleting everything that used to be in the registry, and re-creating it from scratch. So this script is now the master of what value the env vars should have.

    Sorry, this is quite long now, isn’t it? :-)

  • SlickRun is similar to Launchy, looks a bit more minimal / a bit less Vista, if that’s your personal preferred design aesthetic.

  • I like to set your PROMPT environment variable:

    set prompt=$P$_$G$S

    This adds a “newline, greater-than, space” to the current dir, so you can start typing at the start of a new line, which is nice if your current directory is very long. See the above rant about my preferred way of setting environment variables.

  • +1 Cygwin.

    Also, I like to add the cygwin bin dir to my normal windows PATH. That way simple bash-like programs (eg. which and grep) are always available no matter which shell I’m in (even cmd). The wrinkle with this is that any Cygwin commands which accept a path parameter will expect the path to be in “/cygdrive/c/dir/file.txt” format. I’m told msys might handle this better, but I’ve never used it in anger.

  • I have about a thousand others I want to mention. Sounds like I might need a blog post of my own. Or a series of them.

  • zheng_is_zen Windows XP Firefox 3.5.2 wrote:

    Good Idea,

    I would recommend you :
    Everything @
    Nirsoft toolkit
    and PsTools from former Sysinternals (now Microsoft)


  • winMD5sum if you’re burning ISO’s. FileMon and RegMon are irreplaceable, too.

  • Mark Carey Windows Vista Firefox 3.5.2 wrote:

    Putty + a few patches (puttycyg & ssh:// handler) puttycyg is great front end for cygwin. also plink is great for using ssh in .bat scripts. putty is by far the most useful windows tool i have.

    andlinux or colinux are worth looking at as alternatives to cygwin

    xming ($10 donation gets you very recent builds)

    as with *nix the power in most tools is learning what you have and tayloring it to

    you also need a decent texteditor:
    scite (as packaged with ruby)
    editpad lite

Leave a Reply

Your email is never shared.Required fields are marked *

To submit your comment, click the image below where it asks you to...
Clickcha - The One-Click Captcha