Can I set an environment variable for an application using a shortcut in Windows? Can I set an environment variable for an application using a shortcut in Windows? windows windows

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