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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Batch] Ayuda con If (repetir palabra, no letra)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [Batch] Ayuda con If (repetir palabra, no letra)  (Leído 10,251 veces)
Geormarsch

Desconectado Desconectado

Mensajes: 160



Ver Perfil
Re: [Batch] Ayuda con If (repetir palabra, no letra)
« Respuesta #10 en: 14 Octubre 2011, 19:21 pm »

Código
  1. @echo off
  2. :menu
  3. cls
  4. rem Fijate como hago la peticion de una variable, tendrias que hacerlo siempre de esa forma
  5. rem y la linea que esta despues de este comentario es para anular la variable, en este caso no sirve mucho pero si tendrias que volver otra vez a esta linea y no pones nada te dejara con el contenido que tenia antes, por eso es mejor anularla
  6. set "frase="
  7. set /p "frase= Introduzca la frase a codificar: "
  8. if not defined frase (goto :menu)
  9. rem la linea anterior lo que hace es verificar si NO introducio nada
  10. set frase=%frase:e=XXX%
  11.  
  12. echo %frase%
  13.  
  14. pause>nul
  15.  

Y tambien, imaginate con buena imaginacion las cosas que podrias hacer..

aver si entendi

Código
  1. @echo off
  2. :menu
  3. cls
  4. echo.&&echo. (ESTO NO ENTENDI PARA QUE SIRVE)
  5. set "frase=" (ESTO ANULA LA VARIABLE FRASE PARA QUE CUANDO VUELVAS A MENU NO QUEDE LA QUE INGRESASTE ANTERIORMENTE)
  6. set /p "frase= Introduzca la frase a codificar: "
  7. if not defined frase (goto :menu) ( si no introducio nada vuelve al menu)
  8. set frase=%frase:e=XXX% (Asigna a frase "el frase del set /p ???" como valor %frase:e=XXX% es decir si frase es e=XXX)
  9. echo %frase% (NOS INDICA LA CODIFICACION "pero ??? esa variable corresponde al set frase o a %frase:e=xxx% ???)
  10. pause>nul
  11.  


Perdon por tanta pregunta pero no saco nada con copiar y pegar si no entiendo...


« Última modificación: 14 Octubre 2011, 19:22 pm por geormarsch » En línea

"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"
Geormarsch

Desconectado Desconectado

Mensajes: 160



Ver Perfil
Re: [Batch] Ayuda con If (repetir palabra, no letra)
« Respuesta #11 en: 14 Octubre 2011, 19:34 pm »

Encontre otro error No funciona con letras..
tiene que ser con numeros o caracteres...
Alguien tiene la lista de caracteres que se pueden utilizar sin influir el codigo?


En línea

"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: [Batch] Ayuda con If (repetir palabra, no letra)
« Respuesta #12 en: 14 Octubre 2011, 19:48 pm »

los echo juntos, como ya sabras pienso yo! echo. es para dejar una linea en blanco y saltar a la otra, y uso los "&&" para escribir en la misma linea los 2 comandos (podes usar cualquier comando, y se ejecutara el segundo SOLAMENTE si el primero se ejecuto sin problemas), y todo eso lo hice simplemente para dejar dos lineas de espacio al principio.

Lo de anular la variable frase, en este caso no pasaria nada, pero si pasaria en otros casos donde vuelves a preguntar el valor de la variable frase, ya que si el usuario no ingresa nada, la variable ya tenia el valor que le habiamos dado antes y se quedaria con ese, y no queremos eso.

Lo del if not defined, ya lo entendiste.

Ahora.. sobre "set frase =%frase:e=XXX%" eso lo que hace es ponerle un nuevo valor a la variable frase, que en este caso sera el de ella misma pero con todas las letras "e" cambiadas por "XXX". Pero claramente podria haber usado otra variable distinta haciendolo asi:

Código
  1. set variable=%frase:e=XXX%
  2.  

Y asi con otras variables podria seguir haciendo:

Código
  1. set variable2=%variable:g=RRR%
  2. set variable3=%variable2:h=Edu%
  3.  

Entiendes lo que voy haciendo? a la primer variable frase, le hice una modificacion y la guarde en variable, luego a variable le hice una modificacion y la guarde en variable2, y todo asi. Pero para que crear otras variables si podes seguir usando la misma?

Código
  1. set frase=%frase:e=XXX%
  2. set frase=%frase:g=RRR%
  3. set frase=%frase:h=Edu%
  4.  

Si no entiendes pregunta, que es lo que hay que hacer siempre ;)

Y si estas creando esto por hobby simplemente, porque quieres aprender batch, se de algo que te puede ayudar, me mandas mp, saludos!

edit: Con el codigo que te deje, tienes que hacer lo que te pide el programa.. INGRESAR UNA FRASE, por ejemplo: "eduardo es un elefante electrico" xD fijate que cambia las "e" por XXX
En línea

Geormarsch

Desconectado Desconectado

Mensajes: 160



Ver Perfil
Re: [Batch] Ayuda con If (repetir palabra, no letra)
« Respuesta #13 en: 14 Octubre 2011, 19:51 pm »

Eh aqui mi creacion Gracias a $Edu$ Por su colaboracion  ;-) 
No Creo que sirva de mucho.
pero me sirvio para aprender Mas
Pronto Creare un Decodificador
Código:
@echo off
:menu
cls
echo.&&echo.
set "palabra="
set /p "palabra=introduzca la palabra a codificar: "
if not defined palabra (goto :menu)
set palabra=%palabra:a=1%
set palabra=%palabra:b=/%
set palabra=%palabra:c=.%
set palabra=%palabra:d=0%
set palabra=%palabra:e=_%
set palabra=%palabra:f=?%
set palabra=%palabra:g=º%
set palabra=%palabra:h=\%
set palabra=%palabra:i=3%
set palabra=%palabra:j=*%
set palabra=%palabra:k=8%
set palabra=%palabra:l=;%
set palabra=%palabra:m=#%
set palabra=%palabra:n=¿%
set palabra=%palabra:ñ=)%
set palabra=%palabra:o=[%
set palabra=%palabra:p=)%
set palabra=%palabra:q=]%
set palabra=%palabra:r=4%
set palabra=%palabra:s=2%
set palabra=%palabra:t=9%
set palabra=%palabra:u=-%
set palabra=%palabra:v=5%
set palabra=%palabra:w=¬%
set palabra=%palabra:x=6%
set palabra=%palabra:y=7%
set palabra=%palabra:z=+%
echo La palabra codificada es %palabra%
pause
goto menu


MUCHAS GRACIAS A LA COMUNIDAD...
En línea

"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"
Geormarsch

Desconectado Desconectado

Mensajes: 160



Ver Perfil
Re: [Batch] Ayuda con If (repetir palabra, no letra)
« Respuesta #14 en: 14 Octubre 2011, 19:54 pm »

los echo juntos, como ya sabras pienso yo! echo. es para dejar una linea en blanco y saltar a la otra, y uso los "&&" para escribir en la misma linea los 2 comandos (podes usar cualquier comando, y se ejecutara el segundo SOLAMENTE si el primero se ejecuto sin problemas), y todo eso lo hice simplemente para dejar dos lineas de espacio al principio.

Lo de anular la variable frase, en este caso no pasaria nada, pero si pasaria en otros casos donde vuelves a preguntar el valor de la variable frase, ya que si el usuario no ingresa nada, la variable ya tenia el valor que le habiamos dado antes y se quedaria con ese, y no queremos eso.

Lo del if not defined, ya lo entendiste.

Ahora.. sobre "set frase =%frase:e=XXX%" eso lo que hace es ponerle un nuevo valor a la variable frase, que en este caso sera el de ella misma pero con todas las letras "e" cambiadas por "XXX". Pero claramente podria haber usado otra variable distinta haciendolo asi:

Código
  1. set variable=%frase:e=XXX%
  2.  

Y asi con otras variables podria seguir haciendo:

Código
  1. set variable2=%variable:g=RRR%
  2. set variable3=%variable2:h=Edu%
  3.  

Entiendes lo que voy haciendo? a la primer variable frase, le hice una modificacion y la guarde en variable, luego a variable le hice una modificacion y la guarde en variable2, y todo asi. Pero para que crear otras variables si podes seguir usando la misma?

Código
  1.  
  2.  
  3. set frase=%frase:e=XXX%
  4. set frase=%frase:g=RRR%
  5. set frase=%frase:h=Edu%
  6.  

Si no entiendes pregunta, que es lo que hay que hacer siempre ;)

Y si estas creando esto por hobby simplemente, porque quieres aprender batch, se de algo que te puede ayudar, me mandas mp, saludos!

edit: Con el codigo que te deje, tienes que hacer lo que te pide el programa.. INGRESAR UNA FRASE, por ejemplo: "eduardo es un elefante electrico" xD fijate que cambia las "e" por XXX


Muchas Gracias Entendi Todo Perfectamente... Muchas gracias por tu ayuda Rapida y portuna


En línea

"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"
Geormarsch

Desconectado Desconectado

Mensajes: 160



Ver Perfil
Re: [Batch] Ayuda con If (repetir palabra, no letra)
« Respuesta #15 en: 14 Octubre 2011, 19:55 pm »


Muchas Gracias Entendi Todo Perfectamente... Muchas gracias por tu ayuda Rapida y portuna
Salu2


En línea

"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre almacenar palabra letra a letra
.NET (C#, VB.NET, ASP)
Meyer900 5 9,970 Último mensaje 27 Septiembre 2008, 19:59 pm
por SeniorX
[BATCH] ¿Como borrar la ultima letra de una variable?
Scripting
Meine programmen 1 6,662 Último mensaje 9 Abril 2012, 18:09 pm
por Eleкtro
ayuda..con repetir el programa o regresar al menu
Programación C/C++
retsam07 1 19,376 Último mensaje 1 Diciembre 2012, 16:37 pm
por leosansan
Ayuda con búsqueda de palabra en txt
Programación C/C++
ZedGe 4 3,162 Último mensaje 2 Septiembre 2013, 11:58 am
por eferion
AYUDA *necesito que el simbolo % se le coloque a cada letra de una palabra
Scripting
**Aincrad** 0 2,098 Último mensaje 12 Junio 2017, 21:11 pm
por **Aincrad**
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines