elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ejecutar Archivo Bat al iniciar sesion solo una vez al dia
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecutar Archivo Bat al iniciar sesion solo una vez al dia  (Leído 5,782 veces)
4RM4ND0 73P3D4

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Ejecutar Archivo Bat al iniciar sesion solo una vez al dia
« en: 8 Febrero 2013, 19:31 pm »

Buen día Comunidad elHacker,

pido su apoyo para elaborar un bat que me permita ejecutar una aplicación (exe), al iniciar sesión, pero con la condición que sea una vez al día sin importar la hora de encendido del equipo. y que si en el trascurso del día se inicia nuevamente el equipo ya no permita su ejecución hasta el día siguiente..


Gracias..


En línea

Segadorfelix

Desconectado Desconectado

Mensajes: 157



Ver Perfil
Re: Ejecutar Archivo Bat al iniciar sesion solo una vez al dia
« Respuesta #1 en: 8 Febrero 2013, 23:32 pm »

Aca el code
Código
  1. @echo off
  2. set "UBIK=Acá la ubicación del .EXE"
  3. IF exist %temp%\Archivosdetxt.txt goto:ET
  4. set "DF=echo %date%>%temp%\Archivosdetxt.txt"
  5. %DF%
  6. start %UBIK%
  7. exit /B
  8. :ET
  9. For /F %%X IN (%temp%\Archivosdetxt.txt) DO (set "fech=%%X")
  10. IF ["%date%"]==["%fech%"] (exit) else (%DF%)
  11. start %UBIK%
  12.  
Se guarda en la carpeta de inicio.
Saludos.


En línea

4RM4ND0 73P3D4

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ejecutar Archivo Bat al iniciar sesion solo una vez al dia[SOLUCIONADO]
« Respuesta #2 en: 11 Febrero 2013, 08:00 am »

Muchas gracias por la ayuda, solo vi el incoveniente de que al dia siguiente ya no me permitia en el primer inicio de sesion la ejecucion del archivo exe. por o que le agrege un linea que me permitiera volver a ejecutarlo en el priemer inicio de sesion.

Me sirvio mucho Gracias..
Saludos..

Citar
Código
  1. @echo off
  2. :Inicia
  3. set "UBIK=miApp.exe"
  4. IF exist regDia.txt goto:ET
  5. set "DF=echo %date%>regDia.txt"
  6. %DF%
  7. start %UBIK%
  8. exit /B
  9. :ET
  10. For /F %%X IN (regDia.txt) DO (set "fech=%%X")
  11. IF ["%date%"]==["%fech%"] (exit) else (goto:updateDate)
  12. :updateDate
  13. Del regDia.txt
  14. goto:Inicia
« Última modificación: 14 Febrero 2013, 12:04 pm por 4RM4ND0 73P3D4 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.700



Ver Perfil
Re: Ejecutar Archivo Bat al iniciar sesion solo una vez al dia
« Respuesta #3 en: 11 Febrero 2013, 10:32 am »

EDITO: Antes de nada, fíjate en que Segadorfelix usa la carpeta temporal para guardar el registro de los días, si no modificas la carpeta en el script, cuando limpies los archivos temporales con el limpiador de Windows o CCleaner o etc.. perderás esa información.




Parece que por medio del programador de taréas de Windows es imposible crear una taréa con los requisitos que necesitas, así que hay que utilizar código.

Aquí tienes:

EDITO2: Si no dispones de Windows Vista/Seven elimina la parte de FORFILES.

Versión 1:
PD: El script normal, sin la creación de la taréa programada.

Código
  1. @Echo OFF
  2.  
  3. Set "APP=C:\Test.bat"
  4.  
  5. (IF not exist "%WINDIR%\Task_%date:/=-%.task" (
  6. (FSUTIL File CreateNew "%windir%\Task_%date:/=-%.task" 0
  7. Start /B "" "%APP%") || (Exit /B 1)
  8. ) ELSE (
  9. FORFILES /P "%WINDIR%" /M "*.task" /C "CMD /C If NOT @fdate EQU %DATE% (Del /Q "@path")"
  10. Exit /B 0
  11. ))>NUL


Versión 2:
PD: El Script se autoagrega a las tareas programadas para iniciarse una vez al iniciar sesión de usuario.

Código
  1. @Echo OFF
  2.  
  3. Set "APP=C:\Test.bat"
  4.  
  5. (
  6. If NOT "%~1" EQU "/RUN" (
  7. Copy /Y "%~0" "%WINDIR%\"
  8. SCHTASKS /Create /TN "Batch Task" /TR "\"%WINDIR%\%~nx0\" /RUN" /SC ONLOGON /F
  9. )
  10.  
  11. IF not exist "%WINDIR%\Task_%date:/=-%.task" (
  12. (FSUTIL File CreateNew "%windir%\Task_%date:/=-%.task" 0
  13. Start /B "" "%APP%") || (Exit /B 1)
  14. ) ELSE (
  15. FORFILES /P "%WINDIR%" /M "*.task" /C "CMD /C If NOT @fdate EQU %DATE% (Del /Q "@path")"
  16. Exit /B 0
  17. )
  18. )>NUL

Saludos.
« Última modificación: 14 Febrero 2013, 11:51 am por EleKtro H@cker » En línea


r7pyrred

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: Ejecutar Archivo Bat al iniciar sesion solo una vez al dia
« Respuesta #4 en: 14 Febrero 2013, 10:55 am »

que es esod %date:/=-% y que es %~0
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.700



Ver Perfil
Re: Ejecutar Archivo Bat al iniciar sesion solo una vez al dia
« Respuesta #5 en: 14 Febrero 2013, 11:47 am »

Citar
%0
Tutorial extendido de aprendizaje Batch by Elektro H@cker
6.1 Variables especiales (o Variables de parámetro) (o Variables de argumentos)


Citar
%date:/=-%
Replazamiento de caracteres: http://ss64.com/nt/syntax-replace.html
« Última modificación: 14 Febrero 2013, 11:49 am por EleKtro H@cker » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[ Java ] Error a ejecutar archivo JAR (solucionado)
Java
JorgeEMX 4 14,216 Último mensaje 17 Enero 2007, 01:51 am
por JorgeEMX
Ejecutar archivo sólo si la fecha del sistema es la misma
Programación General
Miguelaje 0 1,334 Último mensaje 25 Marzo 2014, 05:35 am
por Miguelaje
ejecutar archivo bat como administrador al iniciar windows
Windows
henao81 2 3,273 Último mensaje 29 Mayo 2015, 21:07 pm
por henao81
Ejecutar un archivo con solo abrir una carpeta?
Análisis y Diseño de Malware
Trollwer 8 2,812 Último mensaje 6 Abril 2017, 03:24 am
por Flamer
Ejecutar archivo bat solo solo una vez.
Scripting
Ryui 2 1,846 Último mensaje 3 Enero 2018, 02:59 am
por Ryui
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines