Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - togangel

#1
Scripting / Re: EXPERTO EN .BAT FAVOR LEER EL MENSAJE
15 Septiembre 2013, 12:10 PM
Si tienes instalado Winrar, el archivo es C:\tu_archivo.rar y su contraseña es 123456

@echo off

set file=C:\tu_archivo.rar
set pw=123456

if exist "%PROGRAMFILES(X86)%" (goto x64) else (goto x86)

:x86
"%PROGRAMFILES%\WinRAR\Rar.exe" e -y %file% -p%pw%

:X64
"%PROGRAMFILES(X86)%\WinRAR\Rar.exe" e -y %file% -p%pw%



#2
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 deseados

Sin más por el momento, me gustaria tener algo de ayuda Genios!!!

Muchas Gracias.