Hola a todos un gran saludo, los felicito por este tutorial en el cual me he basado en aprender un poco de este tema. Sin embargo tengo una consuta que hacerles, ya que he buscado por todos lados y no logro encontrarlo ya que estoy chamaco en esto.
Estoy buscando un Batch más reducido en el cual se este automatizando algunas configuraciones en el equipo, por ejemplo tengo este:
@echo off
color 0a
Mode con cols=46 lines=28
Title .:: %computername% ::. - .:: %username% ::.
:ip
set /p suc= Numero de area (ej. 290) :
cls
set /p ter= Numero de terminal IP ( ej. 120 ) :
cls
set /a suc2=%suc%-250
set ip=10.40.%suc2%.%ter%
set maskar=255.255.255.0
set get=110.40.%suc2%.1
set dns1=110.30.2.22
set dns2=110.1.5.11
netsh interface ip set address name="Conexi¢n de rea local" source=static addr=%ip% mask=%maskar% gateway=%get% store=persistent
netsh interface ip set dnsservers name="Conexi¢n de rea local" source=static addr=%dns1%
netsh interface ip add dnsservers name="Conexi¢n de rea local" addr=%dns2% index=2
:vw
cls
echo Area %suc% Terminal %ter%
echo.
echo Ip %ip%
echo Marcara %maskar%
echo GateWay %get%
echo DNS 1 %dns1%
echo DNS 2 %dns2%
timeout /nobreak 03
:pw
cls
set admn=Administrador
set admp=Admin$2011.1
set usern=Usuario
set userp=User$2011.1
net user "%admn%" %admp%
echo Usuario %admn%
echo Contrase a %admp%
timeout /nobreak 03
net user "%usernn%" %userp%
echo Usuario %usern%
echo Contrase a %userp%
timeout /nobreak 03
:fin
cls
tasklist>"%temp%\tsk.tmp"
set tp="%temp%\tsk.tmp"
set p1=Firefox.exe
set p2=explorer.exe
set inst1=%homedrive%\programas\programa1.exe
set inst2=%homedrive%\programas\programa2.exe
set ins=0
:p1
<"%tp%" find /c /i "%p1%"> NUL
if %ERRORLEVEL% EQU 0 (
goto pok) else (
goto pno)
:pok
cls
color 0a
echo El Programa %p1% Esta instalado correctamente
pause>nul
goto p2
:pno
cls
color 0c
echo El Programa %p1% No se esta ejecutando correctamente
echo.
echo Presione 1 + [Enter] para instalarlo
echo.
set /p ins=
if %ins% == 0 (goto p2)
if %ins% == 1 (goto inst1)
:inst1
"%inst1%"
:p2
<"%tp%" find /c /i "%p2%"> NUL
if %ERRORLEVEL% EQU 0 (
goto p2ok) else (
goto p2no)
:p2ok
color 0a
cls
echo El Programa %p2% Esta instalado correctamente
pause>nul
goto exit
:p2no
cls
color 0c
echo El Programa %p2% No se esta ejecutando correctamente
echo.
echo Presione 1 + [Enter] para instalarlo
echo.
set /p ins=
if %ins% == 0 (goto exit)
if %ins% == 1 (goto inst2)
:inst2
"%inst2%"
:exit
del /f /q %tp%
exit
Aquí lo que estoy intentando es que al checar en Tasklist se encuentren los programas ejecutando, en caso contrario Tener la opción de Instalarlo desde un directorio en C:\bla\bla.exe.
Sí me funciona muy bien este Batch que he hecho pero...
La cuestión es si en la variable :fin se puede simplificar con algun for o tomar el nombre del programa y usarlo como una variable, ya que siento que esta muy extenso. Así mismo si se tomara como variable utilizarlo despues para otros usos, un ejemplo. Terminar con procesos no deseadosSin más por el momento, me gustaria tener algo de ayuda Genios!!!
Muchas Gracias.