Can I set an environment variable for an application using a shortcut in Windows?
As explained here: http://www.labs64.com/blog/2012/06/set-environment-variables-in-windows-shortcut/you can do it without a bat file too.
Set Target to e.g.:
C:\Windows\System32\cmd.exe /c "SET path=%path%&& START /D ^"C:\Program Files (x86)\Notepad++^" notepad++.exe"
To avoid see the command prompt for a split second before it close again, you should set
Run: Minimized
on the Shortcut tab
(Tested on Windows 7, Windows 10)
Let the shortcut execute a batch file (.cmd), that
- Sets the environment variable
- execute the app
- You use "START" to execute the app, this will start the app in another process, but it will copy the environment. You do not wait for the app to finish.
- Now you can exit the batch file.
Should look like this:
@echo offset path=%path%;C:\My Folderstart "Path to my exe"
Linking directly to a batch file spawns an annoying console that you probably want to avoid. Here's a work-around. The simpler solution is to use the "Start Minimized" option in your link, but on Windows 7 you'll see a momentary console light up your task bar.
start.bat:
@echo offIF "%1" == "" GOTO ErrorIF "%2" == "" GOTO ErrorIF NOT EXIST %2 GOTO ErrorSET PATH=%1;%PATH%start %2GOTO End:Errorecho Problem!pause:End
shortcut target:
MyPath = "C:\MyApp"Set shell = WScript.CreateObject("WScript.Shell")cmd = "start.bat " & MyPath & " MyApp.exe"shell.Run cmd, 0, falseSet env = NothingSet shell = Nothing