2010-05-25 15 views
8

So che usando le opzioni degli strumenti esterni posso eseguire uno script batch o un prompt cmd. Ma ecco cosa devo farefinestra interattiva per eseguire i comandi dos in visual studio

Voglio essere in grado di chiamare un prompt di dos all'interno di Visual Studio, che deve essere interattivo. In questo modo non sarò al di fuori dello studio visivo e posso eseguire tutti i miei comandi dos in esso. È possibile? Oppure posso estendere la finestra di comando e catturare i comandi che sono stati digitati e processarli usando il mio codice personalizzato?

Grazie

risposta

3

Non è esattamente quello che chiedono, ma penso che si potrebbe riuscire a raggiungere il tuo obiettivo con StudioShell:

http://studioshell.codeplex.com/

devo ammettere che non ho usato finora ma sembra molto interessante.

+1

L'ho guardato e sembra che non sia in grado di eseguire comandi DOS. Quello che fa è che espone la funzionalità di automazione VS che normalmente richiederebbe un'estensione, un componente aggiuntivo o un pacchetto. Quindi questo è utile per gli sviluppatori di estensioni VS. Dato che sono uno di loro, penso che sarà uno strumento abbastanza utile per me. –

+0

Penso che possa fare un po 'di più. Fondamentalmente hai incorporato la power shell e quindi sei abbastanza aperto su ciò che puoi fare. Un video mostra commandlet mercurial ... quindi non dovrebbe essere troppo difficile per rendere disponibili i comandi DOS necessari per StudioShell. –

14

C'è il comando Tools.Shell che potrebbe funzionare per voi. Si utilizza l'opzione/c per specificare che l'output per l'eseguibile si visualizza nella finestra di comando. Quindi si chiama cmd.exe con l'opzione/C che indica che si chiude dopo aver completato il comando. Ad esempio se si digita:

Tools.Shell /c cmd.exe /C dir C: 

Questo stamperà l'output nella finestra di comando. Sfortunatamente, a differenza dell'output, l'input non funziona. Quindi, se si digita:

Tools.Shell /c cmd.exe /C pause 

Il prompt non aspetterà il vostro input (premendo un tasto).

Se per te va bene, puoi anche definire un alias per la maggior parte di questo. Per esempio si define aliassh per Tools.Shell/c cmd.exe/C:

alias sh Tools.Shell /c cmd.exe /C 

Poi è sufficiente utilizzare come segue:

sh dir c: 
5

Se si installa NuGet, allora aggiunge la console di Package Manager a Visual Studio che è essenzialmente un prompt dei comandi di Powershell. Ci dovrebbero essere modi per fare la maggior parte delle cose DOS tramite Powershell e anche più funzionalità.

+1

Puoi anche guardare il codice di NuGet e vedere come implementarlo da solo qui: http://nuget.codeplex.com/SourceControl/list/changesets – ridecar2

Problemi correlati