Linux allows me to have a short system path by placing binaries in just a few locations. I don't have to edit the path because I just installed a new application, and I don't have to hunt for applications I want to run. How can I, with PowerShell as the program I use to launch programs from, accomplish the same thing on Windows (Vista)?
Vista has a symlinks now via mklink. Perhaps you could setup a "c:/bin" folder and generate symlinks to point back to the original binaries. That is assuming that Vista's symlinks work similarly to the ones in Linux. Here's a short tutorial.
Many programs create an app paths entry in the registry (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths). For those apps, you can start them like so:
PS> Start-Process <appname>
PS> Start-Process excel
If you don't have PowerShell V2, which provides Start-Process, you can use the PowerShell Community Extensions on V1.
I kinda think I may be misunderstanding the question and this might be obvious but I hope it helps in case you didn't already know all this.
It sounds like adding a few directories to your path environmental variable might help. From the command prompt you can view all environmental variables with the set command. Then you can cut and paste your path and use set again to add to it. If you prefer the GUI route right click on My Computer -> Properties -> (in vista and 7 go to "Advanced System Settings" on the left in XP skip this step) -> Advanced Tab -> At the bottom there is an Environmental Variables button. When something is invoked form the command line windows checks in all the directories marked in the path first. After your app dir is in the path you can execute it without fully qualifying your path.
Hope that helped!
Using specifically Powershell you can just create aliases for programs you want to start. I doubt that this is actually less work than editing the PATH
environment variable, though.