[Batch] Ayuda con If (repetir palabra, no letra)

Iniciado por Geormarsch, 13 Octubre 2011, 14:55 PM

0 Miembros y 2 Visitantes están viendo este tema.

Geormarsch

Hola Amigos de CEH hoy tengo una duda. estaba viendo unos codificadores de texto en batch, yo me anime a crear uno pero no quise copiar la idea viendo otros (aparte no comprendi mucho los codigos) entonces empece con el mio y hasta el momento todo okey pero cuando quiero codificar una palabra no funciona.
solo una letra. como lo tendria que hacer para que me acepte la palabra completa.
me eh matado buscando y intentando por eso necesito su ayuda.

@echo off
:menu
cls
set /p palabra= Aqui =
if %palabra%==a (echo b)
if %palabra%==b (echo c)
if %palabra%==c (echo d)
if %palabra%==d (echo e)
if %palabra%==e (echo f)
if %palabra%==f (echo g)
if %palabra%==g (echo h)
if %palabra%==h (echo i)
if %palabra%==i (echo j)
if %palabra%==j (echo k)
if %palabra%==k (echo l)
if %palabra%==l (echo m)
if %palabra%==m (echo n)
if %palabra%==n (echo ñ)
if %palabra%==ñ (echo o)
if %palabra%==o (echo p)
if %palabra%==p (echo q)
if %palabra%==q (echo r)
if %palabra%==r (echo s)
if %palabra%==s (echo t)
if %palabra%==t (echo u)
if %palabra%==u (echo v)
if %palabra%==v (echo w)
if %palabra%==w (echo x)
if %palabra%==x (echo y)
if %palabra%==y (echo z)
if %palabra%==z (echo a)
if %palabra%==salir (goto salir)
goto menu

:salir
echo gracias por usar mi programa
pause
exit
"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$

Pero que es lo que intentas hacer no entendi bien..
Tendrias que averiguar sobre el manejo de las variables eso de %var:~1,2% y cosas asi si quieres hacer un codificador y hacer ilegible el codigo a la vez.

Geormarsch

Cita de: $Edu$ en 13 Octubre 2011, 16:23 PM
Pero que es lo que intentas hacer no entendi bien..
Tendrias que averiguar sobre el manejo de las variables eso de %var:~1,2% y cosas asi si quieres hacer un codificador y hacer ilegible el codigo a la vez.


Quiero hacer un codificador por ejemplo al escribir hola. se guarde en un archivo ipmb.
entienden
el code que tengo funciona. pero solo con una letra.
osea si escribo hola no funciona, pero si escribo h y luego o y luego l y luego a.
pero yo quero escribir la oracion completa osea HOLA
Como lo ago?
"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"

2Fac3R

La verdad que no entiendo lo que quieres hacer, pero para que separarlo entre caracteres? no entiendo, explicate un poco mejor, te dejo el code que creo es lo que quieres.

Código (dos) [Seleccionar]
@echo off
set /p "var= _: "
echo %var% >>codificador.txt
exit


Zalu2
Escuela de Hackers & Programación. http://ihackndev.blogspot.com/

$Edu$

Cita de: geormarsch en 13 Octubre 2011, 19:24 PM

Quiero hacer un codificador por ejemplo al escribir hola. se guarde en un archivo ipmb.
entienden
el code que tengo funciona. pero solo con una letra.
osea si escribo hola no funciona, pero si escribo h y luego o y luego l y luego a.
pero yo quero escribir la oracion completa osea HOLA
Como lo ago?


Claro que te funciona solamente con las letras, si tu codigo hace eso claramente se ve, lo hiciste vs o lo copiaste?

Lo que tienes que hacer es tomar la palabra o el texto ( mas de una palabra) a la q quieres codificar, es decir haras solamente un set /p "var= Introduzca el texto a codificar: " y luego como te dije antes, tendrias que leer algun tutorial donde expliquen el manejo de variables en batch, fijate el ejemplo que te deje que lee algunas letras de la variable, y tambien se puede remplazar las "h" por "i", solo busca y entenderas bien.

Geormarsch

Cita de: $Edu$ en 13 Octubre 2011, 23:53 PM
Claro que te funciona solamente con las letras, si tu codigo hace eso claramente se ve, lo hiciste vs o lo copiaste?

Lo que tienes que hacer es tomar la palabra o el texto ( mas de una palabra) a la q quieres codificar, es decir haras solamente un set /p "var= Introduzca el texto a codificar: " y luego como te dije antes, tendrias que leer algun tutorial donde expliquen el manejo de variables en batch, fijate el ejemplo que te deje que lee algunas letras de la variable, y tambien se puede remplazar las "h" por "i", solo busca y entenderas bien.


$Edu$
Muchas Gracias por toda tu ayuda El codigo es mio.
viendo en el foro un codificador. lo copie a mi ordenador y me gusto la idea de crear uno.pero el que yo vi no entendi el codigo.
asi que me mate pensando y se me ocurrio asi. no se si probaste el code. pero funciona como yo quiero el problema es que codifica un caracter, y no una palabra o oracion....
"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

Cita de: 2Fac3r en 13 Octubre 2011, 22:12 PM
La verdad que no entiendo lo que quieres hacer, pero para que separarlo entre caracteres? no entiendo, explicate un poco mejor, te dejo el code que creo es lo que quieres.

Código (dos) [Seleccionar]
@echo off
set /p "var= _: "
echo %var% >>codificador.txt
exit


Zalu2
no man, Gracias por la ayuda pero tu code no me sirve.
Mira, yo tengo mi codigo (PROPORCIONADO ANTERIORMENTE)
con ese codigo yo pretendo codificar palabras. Es decir:
Si me pregunta set /p palabra= Ingrese la palabra=
y yo dentro escribo Hola me imprima en la pantallas caracteres distintos asi
ipmb que es un caracter adelantado
a=b
b=c
c=d
pero todo funciona como quiero. lastima que solo funciona con un caracter no con una palabra entera...
"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

Cita de: $Edu$ en 14 Octubre 2011, 18:45 PM
Te invito a volver a leer a mi comentario :)

http://foro.elhacker.net/scripting/batch_ayuda_con_if_repetir_palabra_no_letra-t341721.0.html;msg1673729#msg1673729

Saludos!

Man lei tu comentario y busque sobre Variables

pille esto http://foro.elhacker.net/scripting/programacion_batch_avanzada_nuevo-t132924.165.html
esto reemplazara las letras "e" por "XXX".

@echo off
echo Escribe una frase
set /P FRA=
echo %FRA:e=XXX%


pero no Logro entender probe esto : if %palabra%==a (echo %palabra:a=b%)
pero no funciona ....
de que otra manera lo puedo hacer.

DATO: el codificador que vi esta echo con Set

"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$

Código (dos) [Seleccionar]

@echo off
:menu
cls
echo.&&echo.
rem Fijate como hago la peticion de una variable, tendrias que hacerlo siempre de esa forma
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
set "frase="
set /p "frase= Introduzca la frase a codificar: "
if not defined frase (goto :menu)
rem la linea anterior lo que hace es verificar si NO introducio nada
set frase=%frase:e=XXX%

echo %frase%

pause>nul
exit


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