¿Cómo puedo detener la ejecución de un script desde dentro? Algo así como la función Sleep WinAPI?¿Cómo pausar una ejecución de vbscript?
Respuesta
Puede utilizar un objeto WScript
y llame al método Sleep
en él:
Set WScript = CreateObject("WScript.Shell")
WScript.Sleep 2000 'Sleeps for 2 seconds
Otra opción es importar y utilizar la función API de Windows directly (sólo funciona en VBA, gracias @Helen):
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep 2000
Nota: No puede ejecutar funciones de WinAPI desde VBScript. Su segundo ejemplo solo funciona en VB/VBA. – Helen
@Helen - gracias por la información. No sabía acerca de esta limitación. Respuesta actualizada – Oded
Acabo de probar esto y parece que la declaración 'Set WScript = ...' es extraña. Solo una línea 'WScript.Sleep 2000' funcionó para mí (al igual que' WScript.Echo' siempre). –
El recorte de script a continuación crea un subpausa que muestra el texto de pausa en una cadena y espera la tecla Intro. z puede ser cualquier cosa. Excelente si se requieren pausas para la intervención del usuario múltiple. Solo lo guardo en mi plantilla de script estándar.
Pause("Press Enter to continue")
Sub Pause(strPause)
WScript.Echo (strPause)
z = WScript.StdIn.Read(1)
End Sub
Con 'Enter' es mejor utilizar ReadLine() o Read (2), porque la tecla 'Enter' genera 2 símbolos. Si el usuario ingresa cualquier texto, Pausa() también se omitirá incluso con la opción Lectura (2). Así ReadLine() es mejor:
Sub Pause()
WScript.Echo ("Press Enter to continue")
z = WScript.StdIn.ReadLine()
End Sub
Más ejemplos se ven en http://technet.microsoft.com/en-us/library/ee156589.aspx
Lo sé. Pero la respuesta aceptada tiene problemas apunté. Quiero agregar un comentario a la respuesta aceptada pero no tengo suficiente reputación. Así que publico otra respuesta –
@PlasmaPower Este sitio trata de encontrar múltiples respuestas para el mismo problema. Cuando se formuló la pregunta, no aparecían todos los posibles programadores con todas las soluciones posibles. Bien por Sergey por agregar otra respuesta. Sergey, esta fue una respuesta buena y aceptable, no un comentario. +1 – Kristopher
- 1. Solaris GDB: ¿Cómo pausar la ejecución?
- 2. Pausar la ejecución de JavaScript en UIWebView
- 3. Cómo pausar la ejecución mientras JDialog está abierto
- 4. Rieles y selenio: cómo detener/pausar la ejecución de una prueba en el navegador?
- 5. ¿Cómo pausar una llamada a setTimeout?
- 6. ¿Cómo pausar en C?
- 7. ¿Cómo pausar usando DownloadManager?
- 8. ¿Cómo puedo pausar una NSOperation en un NSOperationQueue?
- 9. ¿Hay alguna manera de pausar una CABasicAnimation?
- 10. cómo pausar/reanudar un hilo
- 11. ¿Cómo puedo pausar en zsh?
- 12. Pausar una aplicación de Android con Phonegap
- 13. Pausar manualmente una aplicación en Android Phonegap
- 14. Visual Studio 2008: ¿cómo pausar el programa en ejecución para ver un valor variable?
- 15. cómo pausar y reanudar un subproceso de vista de superficie
- 16. Cómo pausar programáticamente spotify cuando entra una llamada en skype
- 17. Ejecuta un vbscript desde otro vbscript
- 18. ¿Cómo cambiar cscript.exe a la ejecución de wscript.exe para todos los archivos de VBScript?
- 19. ¿Cómo medir el tiempo de ejecución del código en VBScript o JavaScript?
- 20. Cómo pausar/reanudar descargas en iPhone (iOS)
- 21. Cómo obtener la lista de aplicaciones en ejecución usando PowerShell o VBScript
- 22. Cómo pausar el tiempo en iOS Programación
- 23. ¿Hay una implementación de VBScript de Markdown?
- 24. ¿Cómo pausar Eclipse en cualquier excepción?
- 25. Swing Timer, cómo pausar y reanudarlo?
- 26. cómo pausar y reanudar NSTimer en iphone
- 27. ¿cómo pausar y reanudar un temporizador?
- 28. ¿VBScript tiene una función de subcadena()?
- 29. Pausar la ejecución del código en Chrome desde dentro de JS. ¿Posible?
- 30. Pausar animación CALayer con una animación con un retraso
posible duplicado de [Cómo establecer retraso en VBScript] (http://stackoverflow.com/questions/1729075/how-to- set-delay-in-vbscript) – Pisu