2012-12-19 12 views
12

Non riesco a chiamare correttamente questo eseguibile nel mio script di distribuzione psake.Come posso chiamare exec in psake a un eseguibile con un percorso variabile?

Se faccio questo:

exec { "$ArchiverOutputDir\NServiceBus.Host.exe /install" } 

Emette semplicemente questo (ed è chiaramente non chiama l'eseguibile - solo in uscita il valore di tale espressione):

c:\ReloDotNet2_ServiceEndpoints\Archiver\NServiceBus.Host.exe /install 

Ma se faccio questo :

exec { c:\ReloDotNet2_ServiceEndpoints\Archiver\NServiceBus.Host.exe /install } 

Ottengo l'output previsto dall'eseguibile.

Come si chiama correttamente un eseguibile con una variabile nel percorso dell'eseguibile in psake? Se questo è in realtà un problema di PowerShell, non esitare a correggere la domanda per riflettere tale intuizione.

I

+0

Grazie per la modifica sui tag: sono stati salvati nella memoria locale da una domanda precedente che intendevo interrompere. –

risposta

16

Problema di PowerShell classico. Prova a modificare:

exec { & "$ArchiverOutputDir\NServiceBus.Host.exe" /install } 

PowerShell non solo esegue i comandi, si valuta anche le espressioni ad esempio:

C:\PS> 2 + 2 
4 
C:\PS> "hello world" 
hello world 

quello che hai dato a PowerShell all'inizio di una condotta è un'espressione stringa che si valuta con fedeltà e stampa sulla console. Usando l'operatore di chiamata &, stai dicendo a PowerShell che la seguente cosa è il nome di un comando (in una stringa) da eseguire o un blocco di script da eseguire. Tecnicamente potresti anche usare . "some-command-name-or-path". L'unica differenza è che per i comandi di PowerShell, & crea un nuovo ambito per eseguire il comando in e . no. Per gli ex esterni non fa differenza per quanto posso dire quale si usa, ma in genere si usa &.

+0

Grazie, amico! L'hai inchiodato! Puoi indicare qualche buona documentazione (libri inclusi) su Powershell? Sono abbastanza confuso dalla sintassi e da come viene valutata la roba. –

+0

Sicuro. Prova questo freebie http://rkeithhill.wordpress.com/2009/03/08/effective-windows-powershell-the-free-ebook/ –

Problemi correlati