Learn the powerful enterprise adaptable database:

Getting Started With ADABAS & Natural

Wednesday, July 17, 2013

Redmond Path: Edit search path in Windows environment

copy from: http://redmondlab.reachby.com/g2gz5/redmond-path-v-1-0
-----

Redmond Lab .Net

Redmond Lab .Net is a hobby project focusing on software for system administrators, power users, and developers. Use Submit tab to send your questions, comments, or bug reports.

Brought up Nov 20, 2009

Redmond Path v 1.0

Redmond Path v 1.0

Free Software Download

Version 1.0 / Feb 14, 2008

Overview

Redmond Path utility makes it easier to edit search path in Windows environment. It provides interactive way for adding, deleting, verifying, and reordering directories. Finally, you can see it all and move things around.

Key Features

  • Interactive list of directories
  • Expandable area for typing that stays in sync with the directory list
  • Verifies each location in file system as you type it
  • Browse for folders so you don't have to type the path
  • Perform file lookups using search path
  • Works well with nested variables

Supported Platforms

  • Windows XP
  • Windows 2003
  • Windows Vista
  • Requires .NET Framework 2.0 or higher

About Windows Search Path

In order to find executable modules and its dependencies, Windows operating system usesPATH and PATHEXT environment variables. It searches through directories listed in PATH and tries to find an executable module with one of the extensions specified in PATHEXT. In both variables items are separated by semicolon ';' character. Order in which items are listed is important. The first match found will be used. Windows allows to define both system global and user specific path settings. The end result is a concatenation of these two variables where system value comes first before the user value.

The Problem

People who once edited environment variables on Windows, specifically the search path variable know what the problem is. Right, size does matter. It seems like this dialog window was specifically designed to hide the most of the search path so it can play a sick memory game with human mind.

Using Redmond Path

Redmond Path utility provides a solution to this problem by allowing to modify search path locations in interactive and friendly manner. It splits the search path into a list of locations and manages both system and user settings at the same time. The combined view represents what the resulting search path will look like in the end.
While changing the search path, Redmond Path validates each location making sure that it points to a valid directory in the file system. To give a test to created search path, try usingFind in Path feature that is equivalent to which and whereis commands on Unix/Linux. It will locate entered command in the search path. Or start a command prompt from Redmond Path and it will propagate the updated search path into the launched command environment.
After modifications are made, submit changes by using either OKApply, or Save Changesbutton. Roll back to the original or last saved state by using Reload button. It will sync up the search path with the current system values. Click on Cancel to avoid any changes to the system.

Known Issues and Limitations

As discovered while working on this utility, Windows across its all versions has a problem and inconsistency in the way it expands PATH environment variable.
Let's consider an example of using other environment variable in specifying search path locations. For example, this works fine
TOOLS=C:\tools
PATH=%TOOLS%;C:\Windows
However, using environment variable in the path that refers to another variable works unpredictably. The following example worked fine
A=C:\tools
B=%A%
PATH=%B%;C:\Windows
and expanded to
C:\tools;C:\Windows
but this one did not work properly
SOMEPATH=C:\tools
TOOLS=%SOMEPATH%
PATH=%TOOLS%;C:\Windows
and ended up incorrectly in the resulting path, like this
%TOOLS%;C:\Windows
It seems like this behavior depends on the variable names, specifically the first letter they start with. This bug is only seen in setting system search path, while user search path expands transitive dependencies properly.
Redmond Path utility does not try to emulate this Windows bug and will show both system and user paths expanded properly. However operating system may not parse it in expected way. To avoid all these problems, simply do not use variables in the search path that refer to other ones.
Let's review another example of a variable in the search path that expands to a list of directories, like this
TOOLS=C:\tools;D:\bin;E:\system
PATH=%TOOLS%;C:\Windows
It will be shown in Redmond Path as a nested parent node with sub-items. A parent node can be moved, deleted, or changed by itself. However all sub-items inside the parent node will not be available for any changes. Redmond Path does not touch any other environment variables except the PATH variable for both system and user settings.

No comments:

Post a Comment