2010-03-13 5 views
1

Est-ce que quelqu'un sait comment sortir d'une boucle for lorsqu'elle est tapée directement dans la ligne de commande de Windows? Je sais que vous pouvez utiliser des gotos et des étiquettes pour en sortir quand il s'agit d'un fichier de commandes, mais je ne trouve rien à propos d'en extraire un en ligne de commande. Voici un exemple simple:Ligne de commande Windows

C:> for /l %i in (1,0,1) do @ping -n 1 google.com || (echo ^G & msg user "Google is down!" & QUIT) 

Cela devrait infiniment ping sur google.com. Si jamais il échoue, il émet un bip (echo^G), affiche une boîte de message à l'utilisateur "user" qui dit "Google is down!", Et QUITs. Je ne sais pas comment faire la partie quitter. Je suppose que je pourrais faire quelque chose comme taskkill/f/im cmd.exe, mais je cherchais quelque chose de plus élégant. Des conseils?

Répondre

4

envelopper dans une autre instance de cmd et utiliser exit:

cmd /c "for /l %i in (1,0,1) do @ping -n 1 google.com || (echo ^G & msg user "Google is down!" & exit)" 
0

Essayez Exit au lieu de quitter

+1

Seulement la moitié de la réponse. Cela va tuer votre session instantanément ce qui n'est souvent pas ce que vous voulez quand vous travaillez sur la ligne de commande :-) – Joey

Questions connexes