2010-06-14 14 views

risposta

15

Lasciate che il collegamento eseguire un file batch (cmd), che

  • Imposta la variabile d'ambiente
  • eseguire l'applicazione
  • si utilizza "START" per eseguire l'applicazione, questa avrà inizio la app in un altro processo, ma copierà l'ambiente. Non aspetti che l'app finisca.
  • Ora è possibile uscire dal file batch.

dovrebbe essere simile a questo:

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

Qualsiasi soluzione alternativa per la barra delle applicazioni di Windows 7? Ho una scorciatoia lì con tale modifica delle variabili d'ambiente - un'altra icona appare con il corretto processo in esecuzione. – Wojciech

+2

Potrebbe essere necessario cambiarlo in "start" "" Percorso in my exe "' come il comando 'start' potrebbe interpretare la prima stringa quotata come titolo della finestra ... – aschipfl

+0

Cosa @aschipfl ha detto che deve essere fatto assolutamente, non ha funzionato per me altrimenti. Posso modificare? –

3

collegamento diretto ad un file batch genera una console fastidioso che probabilmente si vuole evitare. Ecco un work-around. La soluzione più semplice consiste nell'utilizzare l'opzione "Avvia ridotto a icona" nel tuo collegamento, ma su Windows 7 vedrai una console temporanea accendere la barra delle applicazioni.

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 

destinazione di collegamento:

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

Come spiegato qui: http://www.labs64.com/blog/2012/06/set-environment-variables-in-windows-shortcut/ si può fare senza un file bat troppo.

Set Target per esempio:

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

Per evitare visualizzare il prompt dei comandi per una frazione di secondo prima che si chiude ancora una volta, è necessario impostare

Run: Minimized 

nella scheda Collegamento

(Testato su Windows 7)

Problemi correlati