In our test environment, we automatically install a bunch of utilities — like Notepad++ and the Sysinternals tools — on every Windows system. As part of this, I wanted to add some directories to the Windows system path so these utilities could be easily accessed from the command line. I knew that this could be done manually through the System applet in Control Panel, but it took me a few minutes to figure out how to do it programmatically.
When you edit the system path from the Control Panel, what you’re actually doing is modifying the registry value HKLM\System\CurrentControlSet\Control\Session Manager\Environment\Path. So I wrote a very simple VBS script that takes a directory as an argument and appends it to the value in the registry. Note that the key won’t be re-read until the next time you log into Windows, so your path won’t actually be updated until then.
PathRegKey = "HKLM\System\CurrentControlSet\Control\Session Manager\Environment\Path" If WScript.Arguments.Count = 0 Then WScript.Echo "Please specify a path to add." WScript.Quit(1) End If Set WshShell = WScript.CreateObject("WScript.Shell") UpdatedPath = WshShell.RegRead(PathRegKey) & ";" & WScript.Arguments(0) WshShell.RegWrite PathRegKey, UpdatedPath, "REG_EXPAND_SZ"
Leave a Reply