Autor
|
Tema: {Resuelto} [Batch Help!] ayuda con conversion de caracteres.. (Leído 9,487 veces)
|
xassiz_
Desconectado
Mensajes: 273
Ich werde dich töten..
|
set "variable=%variable:a=1%" set "variable=%variable:A=2%" Ok, mi problema es para diferenciar mayúsculas de minusculas. Hay alguna forma? Pense con un IF.. if ["%variable%"]==["a"] (set "variable=%variable:a=1%") if ["%variable%"]==["A"] (set "variable=%variable:A=2%")
Pero si el contenido de %variable% tiene mas de un caracter ya no serviría.. Ahora mismo se me ocurrio hacer algo con findstr pero nunca lo supe utilizar bien..
|
|
« Última modificación: 18 Septiembre 2009, 21:05 pm por xassiz »
|
En línea
|
YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
xassiz_
Desconectado
Mensajes: 273
Ich werde dich töten..
|
No es eso lo que busco xDD Ok, mi problema es que no leo Me refiero a hacer una conversion de caracteres dependiendo de si es mayuscula o minuscula: set "variable=%variable:a=1%" set "variable=%variable:A=2%"
::no funciona porque la cmd lee igual "a" que "A"
EDITO: creo que al final tendré que meter cada letra en una variable u.u
|
|
« Última modificación: 16 Septiembre 2009, 18:00 pm por xassiz »
|
En línea
|
YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
|
|
|
0x5d
|
No es eso lo que busco xDD Ok, mi problema es que no leo Me refiero a hacer una conversion de caracteres dependiendo de si es mayuscula o minuscula: set "variable=%variable:a=1%" set "variable=%variable:A=2%"
::no funciona porque la cmd lee igual "a" que "A"
EDITO: creo que al final tendré que meter cada letra en una variable u.u
set "name=Jsvier" set name=%name:s=a% echo %name% Eso reemplaza la s por a y daria Javier, haz lo mismo. Saludos.
|
|
|
En línea
|
|
|
|
xassiz_
Desconectado
Mensajes: 273
Ich werde dich töten..
|
Eso lo sabía hacer hace 5 años.. leed antes de responder!!Si lees detenidamente el post, te enterarás. Vuelvo a explicar: Y quiero que la variable quede así: Es decir, set no distingue entre mayúsculas y minúsculas. Pero yo quiero distinguir, ese es el problema. La unica solucion, es medir la longitud de la variable, y luego meter cada caracter en una variable. Luego al tener los caracteres separados podré compararlos con un if.
|
|
|
En línea
|
YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
|
|
|
Guerrerohgp
Desconectado
Mensajes: 44
http://guerrerohgp.blogspot.com/
|
bueno compa. Desde mi punto de vista lo q creo puedes hacer es activar la variables retrasadas, meter el texto en una variable, extraer el primer caracter, crear otra variable donde se vuelvan a agregar los caracteres para q el bucle no sea infinito, hacer la comprobacion de caracteres con if dentro de el bucle y fianlmente ir al final del code XD. ej: :ini :HGP set "txt2= !txt:~% style="color: #448888;">h%,1!" ::aqui tu cambio de mayusculas a minusculas q puede hacerse con for. ::ej: for %%a in (A B C D E F G H) do (if not "!txt2!"=="%%a" ( ::set text=!text:%txt2%=%%a) ::) :fin
esa seria la idea, jiji un code vale mas q mil palabras. espero haberte ayudado. la ota opcion es hacer el bucle con el for pero con esto bastaria. creo q fue tu idea desde el principio no? saludox pd: no termino el code ni lo dejo funcional por q es tu trabajo no? jiji
|
|
|
En línea
|
|
|
|
xassiz_
Desconectado
Mensajes: 273
Ich werde dich töten..
|
A ver, no quiero hacer un cambio de mayusculas a minusculas!! Para eso se haría mas facil asi.. @echo off setlocal enabledelayedexpansion set "texto=hola" 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 "texto2=!texto:%%_=%%_!") echo.Antes: %texto% echo.Despues: %texto2% pause exit
Quiero diferenciar los caracteres en mayuscula de minuscula!!
|
|
|
En línea
|
YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
|
|
|
Guerrerohgp
Desconectado
Mensajes: 44
http://guerrerohgp.blogspot.com/
|
Perdon, me equivoque, si entendi tu idea, lo k paso fue q especifique mal devi poner envez de ::aqui tu cambio de mayusculas a minusculas q puede hacerse con for. ::ej: for %%a in (A B C D E F G H) do (if not "!txt2!"=="%%a" ( ::set text=!text:%txt2%=%%a) ::)
devi de poner ::aqui detectas las mayusculas de minusculas que puedes hacer con for ::ej: for %%a in (A B C D E F G H) do (if not "!txt2!"=="%%a" ( ::tu cambio) ::)
Creo k fue por eso q lo puse en comentario y no como code completo lo de mayusculas y minusculas como lo pones jeje se hace de diversas maneras.xD pero bueno perdon por la xvocacion. Suerte con tu proyect!!
|
|
|
En línea
|
|
|
|
xassiz_
Desconectado
Mensajes: 273
Ich werde dich töten..
|
Gracias, pero al final desarrollé esto que me sirve perfectamente ^^ EDITO:Pues al final no es tan facil como esperaba.. no se porque no me funciona esto: @echo on setlocal enabledelayedexpansion :main cls set/p "texto=String>> " set/a cont=0 call :lenght cls set "string=%texto%" for /l %%_ in (1,1,%cont%) do ( if ["!let[%%_]!"]==["A"] (set "string=%string:A=1%") if ["!let[%%_]!"]==["B"] (set "string=%string:B=2%") if ["!let[%%_]!"]==["C"] (set "string=%string:C=3%") if ["!let[%%_]!"]==["D"] (set "string=%string:D=4%") if ["!let[%%_]!"]==["a"] (set "string=%string:a=5%") if ["!let[%%_]!"]==["b"] (set "string=%string:b=6%") if ["!let[%%_]!"]==["c"] (set "string=%string:c=7%") if ["!let[%%_]!"]==["d"] (set "string=%string:d=8%") ) echo.%texto% echo. echo.%string% pause exit :lenght set "var=!texto:~%cont%,1!" if not defined var (goto:eof) set/a cont+=1 set "let[%cont%]=%var%" goto:lenght
Si introduzco abcd la salida debería ser 5678, y si introduzco ABCD debería ser 1234. Porque no distingue mayus. de minus.?? Lo peor, es que tampoco funciona sin distinguir Y_Y
|
|
« Última modificación: 17 Septiembre 2009, 14:18 pm por xassiz »
|
En línea
|
YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
|
|
|
Guerrerohgp
Desconectado
Mensajes: 44
http://guerrerohgp.blogspot.com/
|
bueno, pok no solo envias a cifrar un caracter a le vez, si estubiste intentando seguro te diste cuenta q si los cambias te dara diferente, prueva cada letra. ej: abres tu script y ingresas a te dara 5 y si ingresas A te dara 1, solucion enviar uno por uno. suerte.!!!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda en C++ (Conversion de Caracteres)
Programación C/C++
|
DragonShiryu
|
7
|
5,565
|
15 Septiembre 2011, 00:45 am
por Eternal Idol
|
|
|
[URGENTE][AYUDA][BATCH][RESUELTO]
Scripting
|
ByEmalml
|
3
|
3,099
|
29 Abril 2014, 01:26 am
por ByEmalml
|
|
|
[Ayuda] Arrastrar a icono batch y realizar conversion FFmpeg
Scripting
|
frenchiveruti
|
3
|
3,176
|
16 Enero 2016, 07:46 am
por frenchiveruti
|
|
|
[BATCH] (RESUELTO) AYUDA RENOMBRADOR AVANZADO
Scripting
|
54n4r0r
|
1
|
2,220
|
9 Abril 2016, 19:05 pm
por 54n4r0r
|
|
|
[AYUDA] [BATCH] Problemita con sustitución de caracteres...
« 1 2 »
Scripting
|
.:Xx4NG3LxX:.
|
10
|
5,450
|
21 Febrero 2020, 17:38 pm
por .:Xx4NG3LxX:.
|
|