segundos programacion pausa off lista lenguaje hacer ejemplos como comandos batch bat autoejecutable archivos archivo batch-file timeout

batch-file - programacion - pausa bat 10 segundos



¿Cómo establecer un tiempo de espera para un proceso en Windows 7? (4)

Bali C dio una respuesta concisa y precisa. Necesitaba algo un poco más característico y reutilizable. Basado en el ejemplo de Bali C. Se me ocurrió esto. Si alguien necesita lo mismo que yo.

tu.bat

REM... CALL STARTwaitKILL..bat /relative/path/your_program.exe REM...

STARTwaitKILL.BAT

@ECHO OFF IF[%1]==[] GOTO EOF IF NOT EXIST %1 GOTO EOF REM SET PRIORITY=/NORMAL REM ADJUST PRIORITY, BELOWNORMAL LETS BATCH FILE RUN MORE SMOOTHLY REM WITH A PROGRAM THAT CONSUMES MORE CPU. SEE ABOUT MAXWAIT BELLOW SET PRIORITY=/BELOWNORMAL REM SET PRIORITY=/LOW REM 0 NORMAL WINDOW :: 1 NO WINDOW :: 2 MINIMIZED WINDOW SET /A HIDDEN=1 REM MAXWAIT HERE IS MORE LIKE MINIMUM WAIT IN WINDOWS. SET MAXWAIT=10 SET WAITCOUNT=0 SET ARGS=/I %PRIORITY% IF %HIDDEN% EQU 1 SET ARGS=%ARGS% /B IF %HIDDEN% EQU 2 SET ARGS=%ARGS% /MIN START %ARGS% %1 :WAIT IF %WAITCOUNT% GEQ %MAXWAIT% GOTO KILL_IT TIMEOUT /T 1 > NUL SET /A WAITCOUNT+=1 FOR /F "delims=" %%a IN (''TASKLIST ^| FIND /C "%~nx1"'') DO IF %%a EQU 0 GOTO RUN_DONE GOTO WAIT :KILL_IT TASKKILL /IM %~nx1 /F > NUL :RUN_DONE

Podría desarrollarse un mineral para tomar más argumentos a favor de la prioridad, pero no tengo la necesidad de hacerlo. No debería ser difícil de agregar.

Me gustaría iniciar un programa con un archivo por lotes de Windows. Pero el programa debe detenerse después de un cierto valor de tiempo de espera. Por ejemplo: Ejecute el programa 60 segundos y deténgalo después de 60 segundos.

Bajo Linux, hay un buen comando de timeout para hacer lo que quiero. Windows también tiene un comando de timeout , pero es solo para pausar un comando, para retrasar su ejecución. ¿Hay algo más en Windows para hacerlo?

Instalación: Windows 7, 64 Bit, Profesional



No existe ningún comando en Windows para retrasar una aplicación o para establecer un tiempo de espera para una aplicación

El tiempo de espera en Windows es para demorar el proceso de ejecución de CMD / Batfile, nada más de utilidad.

Puedes usar herramientas externas para eso, no recuerdo el nombre de ninguno ahora, tanto software subterráneo, lo siento, pero recuerdo que en el foro oficial de autoit existe una herramienta de línea de comandos similar para iniciar una aplicación que establece el tiempo de espera, y tal vez en la herramienta NIRCMD, o ps2exec, verifique sus archivos de ayuda, o alguien dentro de los kits WAIK.

Esto es lo único que puedes hacer:

@Echo OFF :: First launch the app in background mode, because some applications stops the execution of CMD. Start /B "./Dir/Your app.exe" :: Then stay in background for a certain time Timeout /T "Seconds" :: Continue your code... Pause&Exit


start yourprogram.exe timeout /t 60 taskkill /im yourprogram.exe /f