elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / Re: EXPERTO EN .BAT FAVOR LEER EL MENSAJE en: 15 Septiembre 2013, 12:10 pm
Si tienes instalado Winrar, el archivo es C:\tu_archivo.rar y su contraseña es 123456
Código:
@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  Programación / Scripting / Re: Acciones sobre archivos de texto. [Batch] en: 15 Septiembre 2013, 11:33 am
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:

Código:

@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.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines