2013-10-11 20 views
6

Ho un programma scritto in vb.net. Dopo la creazione, voglio avviare un file batch interattivo che esegua un comando psexec in remoto. Come lo posso fare? questo è il mio post evento di compilazione:Esegui batch interattivo in Visual post eventi di build

call "$(ProjectDir)ExecOnGw.bat" 

E questo è il mio gruppo che, se viene eseguito in un prompt dei comandi normale, l'esecuzione è ok.

c:\Sysinternal\psexec.exe \\gateway "C:\Remotepath\mybatch.bat" -u mydomain\myuser -p ****** 
pause 

Questo lotto chiama un altro lotto su una macchina remota che fa qualcosa, quindi se voglio uscire, devo premere un "q" e "Enter". In un normale prompt dei comandi, funziona correttamente. Ma in un evento di post post di Visual Studio va giù. Aiutami!

+0

Non so perché questo è stato taggato con 'C#'. Tag rimosso. – tnw

risposta

6

Ho fatto questo prima di usare il comando di avvio. Ho creato un file pause.bat semplice per dimostrare:

@echo off 
    pause Press Any Key 
    exit 

Se metto questo nel post evento accumulo, vedo una console che si chiude solo.

call pause.bat 

Se si utilizza questo, si ottiene una seconda finestra della console che accetta l'input prima della chiusura.

start "My Process" /D c:\batch /WAIT pause.bat 
+0

Il 'start/WAIT' è esattamente quello che sto cercando, sorpresa questa risposta è stata sepolta. –