2010-06-14 3 views
19

J'ai le sentiment que je devrais être en mesure d'ajouter un répertoire à la variable d'environnement PATH au cours de la vie de l'application, mais je ne vois pas comment procéder. Est-il possible d'ajouter un paramètre à un raccourci Windows qui ajoute un répertoire à la valeur actuelle de PATH pour une utilisation par l'application en cours de liaison?Puis-je définir une variable d'environnement pour une application à l'aide d'un raccourci dans Windows?

Répondre

15

Laissez le raccourci exécuter un fichier de commandes (.cmd), que

  • Définit la variable d'environnement
  • exécuter l'application
  • Vous utilisez "START" pour exécuter l'application, cela va commencer la application dans un autre processus, mais il va copier l'environnement. Vous n'attendez pas la fin de l'application.
  • Vous pouvez maintenant quitter le fichier de commandes.

devrait ressembler à ceci:

@echo off 
set path=%path%;C:\My Folder 
start "Path to my exe" 
+7

Une solution de contournement pour la barre des tâches de Windows 7? J'ai un raccourci là-bas avec de telles modifications de variables d'environnement - une autre icône apparaît avec le bon déroulement du processus. – Wojciech

+2

Vous devrez peut-être le remplacer par "start" "" Path to my exe "' car la commande 'start' pourrait interpréter la première chaîne entre guillemets comme le titre de la fenêtre ... – aschipfl

+0

Ce que @aschipfl dit doit absolument être fait n'a pas fonctionné pour moi autrement. Puis-je modifier? –

3

Lier directement à un fichier batch fraie une console ennuyeux que vous voulez probablement éviter. Voici une solution de rechange. La solution la plus simple consiste à utiliser l'option "Démarrer minimisé" dans votre lien, mais sur Windows 7, vous verrez une console momentanée éclairer votre barre des tâches.

start.bat:

@echo off 
IF "%1" == "" GOTO Error 
IF "%2" == "" GOTO Error 
IF NOT EXIST %2 GOTO Error 
SET PATH=%1;%PATH% 
start %2 
GOTO End 

:Error 
echo Problem! 
pause 

:End 

raccourci cible:

MyPath = "C:\MyApp" 
Set shell = WScript.CreateObject("WScript.Shell") 
cmd = "start.bat " & MyPath & " MyApp.exe" 
shell.Run cmd, 0, false 
Set env = Nothing 
Set shell = Nothing 
9

Comme cela est expliqué ici: http://www.labs64.com/blog/2012/06/set-environment-variables-in-windows-shortcut/ vous pouvez le faire sans un fichier de chauve-souris aussi.

Définir la cible à par exemple:

C:\Windows\System32\cmd.exe /c "SET path=%path% && START /D ^"C:\Program Files (x86)\Notepad++^" notepad++.exe" 

Pour éviter l'invite de commande pour une fraction de seconde avant de fermer à nouveau, vous devez définir

Run: Minimized 

sur l'onglet Raccourci

(Testé sous Windows 7)

Questions connexes