2010-06-04 7 views
3

A partir d'un script NSIS (situé à C:\nsis\ par exemple), j'exécute un programme externe (disons something.bat) avec quelques paramerters:"Exec" dans le dossier spécifique

Exec '"Z:\draft\something.bat" $param1 $param2' 

something.bat est suppoed pour renommer le répertoire C:\nsis . Ma question est, comment puis-je dire Exec de lancer something.bat à l'intérieur de Z:\draft\ et non C:\nsis\? Parce que, il ne peut pas renommer le répertoire autrement.

Merci.

Répondre

2

Vous pouvez utiliser SetOutPath pour définir le répertoire de travail actuel. Je pense que cela devrait faire ce que vous voulez.

Dans la documentation NSIS, vous pouvez également voir qu'il utilise la variable que SetOutPath définit ($OUTDIR) pour les instructions Exec.

4.9.1.2 Exec

commande Exec
Exécutez le programme spécifié et continuer immédiatement. Notez que le fichier spécifié doit exister sur le système cible, pas le système de compilation . $ OUTDIR est utilisé pour le répertoire de travail .

+0

Parfait! 'SetOuPath' a fait le travail. La prochaine fois, je lirai attentivement le manuel :) – Anonymous

+1

@moz: Pas de problème c'est un peu non intuitif, que vous le sachiez ou non :) –

Questions connexes