Making a Windows shortcut start relative to where the folder is?
Solution 1:
-
Right click on your /bat/ folder and click Create Shortcut.
- On Windows 7 you will get
bat - Shortcut
in the current directory. - On Windows XP you will get
Shortcut to bat
.
- On Windows 7 you will get
Right click on the shortcut you just created and click Properties.
-
Change Target (under the Shortcut tab on Windows 7) to the following:
%windir%\system32\cmd.exe /c start "" "%CD%\bat\bat\run.bat"
Make sure Start in is blank. That causes it to start in the current directory.
- Click OK. On Windows 7, the shortcut icon will change to the cmd.exe icon.
-
That's probably acceptable in the case of shortcutting to a .bat but if you want to change the icon, open the shortcut's properties again and click Change Icon... (again, under the Shortcut tab on Windows 7). At this point you can Browse... for an icon or bring up a list of default system icons by entering
%SystemRoot%\system32\SHELL32.dll
to the left of the
Browse...
button and hitting Enter. This works on Windows 7 and Windows XP but the icons are different due to style updates (but are recognizably similar). Depending on the version of Windows the shortcut resides, the iconwillwill sometimes change accordingly.
More Info:
See Using the "start" command with parameters passed to the started program to better understand the empty double-quotes at the beginning of the first Target command.
Solution 2:
According to Microsoft, if you leave the 'Start In'
box empty, the script will run in the current working directory. I've tried this in Windows 7 and it appears to work just fine.
Source: http://support.microsoft.com/kb/283065
Solution 3:
Try using Relative (a Windows command-line application).
Basically, a shortcut could have a relative link, but Windows gives no way to actually make one.