Batch que en determinada fecha ejecute un archivo.vbs

Iniciado por Lordzito, 25 Septiembre 2013, 10:36 AM

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

Lordzito

Hola!, espero esten bien! pues he echo un programa en batch el cual me funciona bien, pero quisiera que ese programa en cierta fecha lance un mensajito, osea el programa yo lo he puesto que tiene garantia de un mes y quiero que al mes exacto me lanze una ventanita diciendo que "su garantia a expirado", sino es posible tirar un mensaje con el comando msg *, aunke sea que mande la orden a un .vbs xq tengo win7 y ahi no me funciona el comando msg *, espero su ayuda gracias!!!

Eleкtro

#1
¿En serio? ¿Un Batch Trial?  :-\

Espero que no te ofendas, pero la idea de distribuir un script en Batch como aplicación profesional es ridículo (y nada profesional), pero la idea de hacerlo de pago y añadirle expiración lo es todavía más.

Vamos a ver lo que podemos hacer... te muestro una manera de hacerlo (la otra manera es metiendo la información en un archivo y leer el contenido), aunque estoy bastante en contra de que se haga lo que intentas hacer, pero bueno, esto es lo que he codeado, añade el siguiente snippet a la cabecera de tu script:

Código (dos) [Seleccionar]
@Echo OFF

Set "NombreDelSoft=MiBatch"

REG.exe Query "HKLM\Software\%NombreDelSoft%" /V "ExpirationDate" 1>NUL 2>&1 || (
Echo CreateObject^("WScript.Shell"^).RegWrite "HKLM\Software\%NombreDelSoft%\ExpirationDate", DateAdd^("m", 1, Date^), "REG_SZ" > "%TEMP%\SetTrialDate.vbs"
Wscript.exe "%TEMP%\SetTrialDate.vbs"
Del /Q "%TEMP%\SetTrialDate.vbs" 2>NUL
)

For /F "Tokens=3" %%# in (
'REG.exe Query "HKLM\Software\%NombreDelSoft%" /V "ExpirationDate" 2^>^&1 ^| MORE +1'
) Do (
Set "ExpirationDate=%%#"
)

IF %Date:~6,4%%Date:~3,2%%date:~0,2% GEQ %ExpirationDate:~6,4%%ExpirationDate:~3,2%%ExpirationDate:~0,2% (
Echo MsgBox "El tiempo de prueba para esta aplicación ha expirado" ^& vbnewline ^& "Fecha de expiración: %ExpirationDate%", 16, "%NombreDelSoft%" > "%TEMP%\DisplayTrialExpiration.vbs"
Start /B Wscript.exe "%TEMP%\DisplayTrialExpiration.vbs"
Exit /B 1
)


Saludos.








Mad Antrax

Opino lo mismo, el código de validación o chekeo se hace dentro del propio BAT. Es tan sencillo como editarlo y cambiar el código o simplemente borrarlo.

Si quieres hacer algo parecido puedes convertir el BAT en un EXE y agregar ahí un WinLicense por ejemplo.

De igual modo no hay ninguna protección in-crackeable.

Saludos.
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Lordzito

#3
Muchas gracias x sus prespuestas, pero creo q tiene razon me ekivoke en el titulo del tema, no era caducidad, era este: "Poner caducidad a una aplicacion creada en batch" y pues trata x decirlo asi que en una fecha determinada me lanze una ventanita popup, o popup no, mejor que llame a un archivo.vbs xq en windows 7 no me funciona el comando "msg * algun mensaje" ya que pa win7  creo q viene desabilitado ese comando y x eso kisiera que llamara mejor a un .vbs, pero el code q pusistes EleKtro H@cker, esta buenisimo lo tomare en cuenta tambien, pero era lo otro q dije, Gracias! :D, Saludos!!!

Lordzito

Hola, pues consegui este codigo para que el .vbs me sale a esa fecha:

if %date% == 30/09/2013 (%USERPROFILE%\desktop\fafa\POP.vbs &endlocal&goto:CONTINUAR1)

:CONTINUAR1
echo.7>\\?\%USERPROFILE%\desktop\fafa\1.txt
pause
exit


era lo que queria, pero ahora, pasa un problema que cuando lo probe en la fecha que puse, pues el todo me funciono bien y me creo el archivo que queria osea el "1.txt" pero probe adelantando la fecha del calendario de la pc y pues cuando ejecute el batch, ya no me funciono y pues lo probe de esa forma por si en un dado caso en la fecha que le ponga, no prendo la PC y pasen los dias x ejemplo la fecha que ponga en el programa sea "30/09/2013" pero yo prenda la PC el "02/10/2013" y que siempre me funcione como recobrando la fecha anterior que no se paso! como hacer para que me funcione ya transcurrida la fecha elegida?