Esta es una receta para solucionar aquel problema que hay cuando tenemos varios .bat y solo hay que ejecutar uno para que arranquen los demás. Pero el usuario abre el que no es.
Ahora vamos a impedir que el usuario haga eso.
Hay un .bat que es el inicial y otros que son los secundarios. Desde el inicial se inician l0s demás, por eso usamos CALL.
@echo off
call 1.bat
Aunque, podemos renstringir el acceso a los secundarios, a menos que se inicien con el .bat inicial.
Eso se hace introduciendo atributos al .bat. Si mal no recuerdo, %0 era el nombre del archivo que se estaba ejecuando y de ahí para alante (%1, %2, %3...) eran los atributos añadidos. %* servía para todos los atributos.
Si añadimos el atributo al .bat secundario desde el inicial, y comprobamos que esto es verdad, como al iniciar el secundario directamente no hemos añadido el atributo, dará error.
Este es el bat inicial:
@echo off
call 1.bat a [a es el atributo añadido al otro .bat]
Y esto es lo que tenemos que poner en el secundario:
@echo off
if "%1"=="" (
color 0c
echo.
echo Este archivo solo se puede ejecutar con el .bat inicial.
echo Pulse cualquier tecla para salir.
pause>nul
exit
)
Así comprobamos si hay atributo, es decir, si se ha iniciado desde el .bat inicial.
Espero que lo entendáis. :)
No hay comentarios:
Publicar un comentario