2010-08-04 23 views
5

Je veux avoir un fichier cmd avec quelque chose comme:Est-il possible d'utiliser les redirections de sortie à partir d'un fichier cmd en utilisant start?

:one 
start /wait (blabla1.exe -q -m 1>blabla1.log 2>&1) 

:two 
start /wait (blabla2.exe -q -m 1>blabla2.log 2>&1) 

où je veux la sortie de l'application de la sortie non blabla de la commande de démarrage.

Est-il même possible d'avoir les redirections "locales" dans la commande de démarrage?

Dois-je créer une ligne 1 cmd contenant
blabla1.exe -q -m 1>blabla1.log 2>&1
et le transmettre à la commande start? Mise à jour: J'ai besoin de terminer le premier (blabla1.exe) avant de lancer le second (blabla2.exe). C'est la raison pour laquelle vous utilisez start /wait.

(Windows XP et plus)

Répondre

4

Étant donné que vous redirigez vers un fichier, et d'attendre la fin du processus, est la fenêtre supplémentaire a commencé par « start » réellement nécessaire? En fait, s'il y avait un moyen de rediriger la sortie lors de l'utilisation de start, alors les fenêtres qui apparaîtraient n'auraient même pas de sortie ... les rendant encore plus insignifiantes. Si ce n'est pas le cas, supprimez simplement le "start/wait" et appelez directement les exes.

Si c'est nécessaire ... alors je ne suis pas sûr. MISE À JOUR: Je suis à peu près certain que le simple fait de supprimer "démarrer/attendre" produira le comportement que vous désirez. Voir ci-dessous:

(Créer le fichier batch suivant:. Foo.cmd

:one 
notepad.exe 
:two 
dir 

Notez que dir ne sera pas l'écho jusqu'à ce que vous fermez le bloc-notes

+0

J'ai besoin de la 2ème pour démarrer APRÈS la fin du premier. Donc je suppose que j'ai besoin de/wait. –

+0

@Francois - Droite - dans les fichiers batch, lorsque vous n'utilisez pas start, les fichiers batch ne passent pas à la ligne suivante jusqu'à la fin d'un cmd/exe. Ce n'est que lorsque vous utilisez start, que cette/wait est nécessaire pour attendre la première sortie. Ajout d'un exemple de script batch pour démontrer –

+0

Vous avez raison, je n'ai pas besoin de 'start' en premier lieu, alors je n'ai pas besoin de'/wait'. Juste sans, cela fonctionne comme je l'ai prévu. Merci! {Pourquoi est-ce simple quand vous pouvez le faire compliqué! soupir ;-)} –

13

Oui, il est possible de rediriger la sortie en utilisant la commande début d'attente en utilisant le commutateur/B.

start /B /wait myprog.exe >> output.log 

Si vous avez besoin de briser vous devrez utiliser Ctrl +Pause, Ctrl + C sera ignorée. J'espère que cela t'aides.

+0

Cela devrait être la réponse acceptée .. –