Título: ¿apagar windows cuando termine un proceso con un .bat?. Publicado por: crazykenny en 20 Septiembre 2018, 22:54 pm Hola, vereis, el caso es que hoy he estado realizado un backup de algunas series que tengo descargadas, y, bueno, dado que me ha llevado varias horas, quisiera realizar una pregunta, si no es molestia, claro esta;
¿Seria posible ejecutar un apagado automatico del sistema cuando termine un proceso (en mi caso, terminar de copiar archivos)?. Entonces, en caso de ser posible, ¿que comando deberia utilizar ademas del comando "Shutdown"?. Y, bueno, ya de entrada, gracias de antemano por la ayuda. Muchas gracias por vuestra atencion, y, bueno, saludos., Título: Re: ¿apagar windows cuando termine un proceso con un .bat?. Publicado por: OmarHack en 21 Septiembre 2018, 00:21 am Puedes usar Wmic para sacar el PID y comprobar con un condicional dentro de un bucle que el proceso está activo, y cuando no lo esté lo sacas del bucle y metes el shutdown fuera del bucle.
Título: Re: ¿apagar windows cuando termine un proceso con un .bat?. Publicado por: EdePC en 21 Septiembre 2018, 02:37 am - Has probado en configurar las Opciones de Energía y Suspensión, que yo sepa el PC se suspende pasados unos 10 a 30 minutos sin uso, esto se puede configurar.
-- Suspender es casi como apagar. - También existen programas como FastCopy, TeraCopy, etc, que estás diseñados para hacer copias masivas, por ejemplo TeraCopy permite ejecutar un Script (shutdown) al terminar las copias: https://fastcopy.jp/en/ https://www.codesector.com/teracopy -- Estos programas copian más rápido debido a que es su especialidad hacer esto, claro que depende mucho de la velocidad de tu Disco Duro y si tienes procesos que estén usando el Disco Duro como el Antivirus, yo suelo desactivar el antivirus cuando hago copias de seguridad masivas. -- Estos programas permites ser utilizados por línea de comandos, por ejemplo FastCopy: Código: fastopy.exe "D:\videos" /to="H:\Backup videos\" --- Incluso puedes utilizar el comando START /WAIT para ejecutar la copia vía XCOPY o TeraCopy o FastCopy, con esto esperas a que termine la copia y luego se ejecuta el siguiente comando: Código: START /WAIT fastopy.exe "D:\videos" /to="H:\Backup videos\" && shutdown /p ------------- - Lo más fácil es utilizar TereCopy: (https://image.ibb.co/iYok6e/teracopy_shutdown_finish.gif) Título: Re: ¿apagar windows cuando termine un proceso con un .bat?. Publicado por: crazykenny en 21 Septiembre 2018, 09:31 am - Has probado en configurar las Opciones de Energía y Suspensión, que yo sepa el PC se suspende pasados unos 10 a 30 minutos sin uso, esto se puede configurar. -- Suspender es casi como apagar. Bueno, como norma, siempre quito la suspension pasado X minutos, ya que suelo dejar el ordenador encendido durante bastante tiempo con alguna tarea, y, bueno, he tenido problemas con esta opcion. - También existen programas como FastCopy, TeraCopy, etc, que estás diseñados para hacer copias masivas, por ejemplo TeraCopy permite ejecutar un Script (shutdown) al terminar las copias: https://fastcopy.jp/en/ https://www.codesector.com/teracopy -- Estos programas copian más rápido debido a que es su especialidad hacer esto, claro que depende mucho de la velocidad de tu Disco Duro y si tienes procesos que estén usando el Disco Duro como el Antivirus, yo suelo desactivar el antivirus cuando hago copias de seguridad masivas. -- Estos programas permites ser utilizados por línea de comandos, por ejemplo FastCopy: Código: fastopy.exe "D:\videos" /to="H:\Backup videos\" --- Incluso puedes utilizar el comando START /WAIT para ejecutar la copia vía XCOPY o TeraCopy o FastCopy, con esto esperas a que termine la copia y luego se ejecuta el siguiente comando: Código: START /WAIT fastopy.exe "D:\videos" /to="H:\Backup videos\" && shutdown /p ------------- - Lo más fácil es utilizar TereCopy: (https://image.ibb.co/iYok6e/teracopy_shutdown_finish.gif) Sobre los programas; graicas por el aporte, ya que es otra opcion que no habia tenido en cuenta. Puedes usar Wmic para sacar el PID y comprobar con un condicional dentro de un bucle que el proceso está activo, y cuando no lo esté lo sacas del bucle y metes el shutdown fuera del bucle. Bueno, OmarHack, muchas gracias por tu respuesta, ya que comandos como Wmic es lo que estaba buscando, y, bueno, durante el dia de hoy probare a utilizarlo a ver que tal funciona y ire comentando. Muchas gracias por vuestra atencion, y, bueno, saludos. EDITO: He estado revisando las opciones del comando Wmic, y, bueno, EdePC, debo decir que la idea que comentas de los codigos me han resultado muy utiles. Ademas, con la opcion que me has comentado de los programas, me has dado otra idea para aprovechar el comando que ha indicado OmarHack, o, almenos, para apagar el PC cuando se termine de copiar datos. Y, bueno, EdePC y OmarHack, muchas gracias a ambos por vuestra ayuda con la duda que he expuesto en este tema. Os lo agradezco de verdad., :D Muchas gracias por vuestra atencion, y, bueno, saludos. :D Edito 3: He estado buscando un poco de informacion sobre el tema, y, bueno, he visto que en un codigo publicado por pitoloko en 2011 utiliza el comando tasklist para comprobar si un programa se esta ejecutando: Fuente: https://foro.elhacker.net/scripting/batch_ejecutar_programa_x_tiempo_si_no_se_esta_ejecutando_solucionado-t321249.0.html (https://foro.elhacker.net/scripting/batch_ejecutar_programa_x_tiempo_si_no_se_esta_ejecutando_solucionado-t321249.0.html) Citar Prueba con este mio: Código :Ocultar @echo off title=Chequeador nircmd win hide ititle "Chequeador" (ESTA LÍNEA ES OPCIONAL, CLARO... XD) :Comprobar tasklist /FI "IMAGENAME eq nombredelprograma.exe" | findstr PID >nul IF %ERRORLEVEL% LEQ 0 Ping -n 5 localhost >nul & goto :Comprobar IF NOT %ERRORLEVEL% LEQ 0 start /b c:\"windows\system32\calc".exe & Ping -n 5 localhost >nul & goto :Comprobar Probado y funciona Entonces; lo primero de todo, quisiera agradecer al autor del mensaje la publicacion del codigo, ya que, bueno, haciendo la siguiente modificacion en el codigo, se podria apagar el ordenador despues de usar una aplicacion para realizar una copia de seguridad. Código:
Por otra parte, y, como otra opcion (o pequeño apaño) para realizar copias de seguridad (aunque solo sean de archivos), quisiera aprovechar para añadir un ultimo programa que he hecho en Blitz3D (Basic) que, bueno, si reemplazamos "calc.exe" por el nombre del programa y ejecutamos el .bat mientras se realizan las copias de seguridad, permitiria apagar el ordenador al terminarlas. Código: Graphics 1024,768,32,2 Título: Re: ¿apagar windows cuando termine un proceso con un .bat?. Publicado por: Peruchoa en 16 Diciembre 2018, 02:00 am DShutdown
Tiene varias opciones apagar, reset, hibernar...etc. ...y lo que buscar con una app. Salu2 |