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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Otro uso de call
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Otro uso de call  (Leído 2,885 veces)
carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Otro uso de call
« en: 10 Julio 2008, 02:23 am »

Publico otro uso de call, que estoy aprendiendo

Esto es lo que llevo:

Código:

@echo off


:: Lo que sería:
:: set word=%word:%letra1%=%letra3%%
::
:: Ejemplo:
::
::     set word=%word:%letra1%=%letra3%%
::
::                    %word:%letra1%=%letra3%%
::call set  word =  [%] %word:%letra1%=%letra3%% [%]
:: se añade un % al principio y otro al final %
::
:: Finalmente queda:
::
::call set word=%%word:%letra1%=%letra3%%%


set letra1=ra
set letra2=ma
set letra3=ca
set letra4=sa

set word=rama


echo %word%
::muestra rama

call set word=%%word:%letra1%=%letra3%%%
call set word=%%word:%letra2%=%letra4%%%

echo %word%
::muestra casa

pause

set inicio=1
set fin=1

echo %word%

call echo %%word:~%inicio%,%fin%%%
::muestra a

echo %word%
::muestra casa

set inicio=2
set fin=3


call set word=%%word:~%inicio%,%fin%%%
echo %word%
::muestra sa

pause



En línea

najmuddin

Desconectado Desconectado

Mensajes: 56


DARAK


Ver Perfil
Re: Otro uso de call
« Respuesta #1 en: 10 Julio 2008, 05:37 am »

Saludos Carlitos.

Por qué funciona así y no sin el Call... ¿Podrías extender un poco más la información sobre este uso?

Muchas Gracias. Disculpa si lo que te pido es un poco absurdo, es sólo que me gustaría entender correctamente...


En línea

-DARAKknight-

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Otro uso de call
« Respuesta #2 en: 10 Julio 2008, 06:14 am »

No sé porque funciona así, pero sé que funciona :D
Estoy aprendiendo.
En línea

$hyDow

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Otro uso de call
« Respuesta #3 en: 10 Julio 2008, 11:17 am »

la conocia, pero no muy a fondo
En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Otro uso de call
« Respuesta #4 en: 11 Julio 2008, 04:33 am »

Por fin lo entendí, gracias a una muy buena explicación que me dio -[black_hack]- y también recordando las palabras de sirdarkcat, de que doble % (%%) inserta un simbolo % que no es interpretado, es como si quieres añadir un carácter especial como ^ (añades ^^)

set letra1=ra
set letra2=ca

set word=rama

call set word=%%word:%letra1%=%letra2%%%

::Desarrollo (con espacios para que se vea mas claro)
::
::set word=%% word: %letra1% = %letra2% %%
::aqui se interpreta el doble %% y deja uno solo
::set word=% word: %letra1% = %letra2% %
::set word=% word: ra = ca %
::set word=%word:ra=ca%
::set word=cama

Al final, el call es para ganar una interpretación más.

De hecho esta página dice lo siguiente: Each CALL does one substitution of the variables. (You can also do CALL CALL... for multiple substitutions)
Código:
http://www.ss64.com/nt/call.html

Por fin lo entendí, y aprendí otras cosas más.  ;D


« Última modificación: 11 Julio 2008, 04:38 am por carlitos.dll » En línea

najmuddin

Desconectado Desconectado

Mensajes: 56


DARAK


Ver Perfil
Re: Otro uso de call
« Respuesta #5 en: 11 Julio 2008, 05:54 am »


Por fin lo entendí, y aprendí otras cosas más.  ;D


Bueno, no estaía de mal que nos enseñaras esas "Cosas más"...  ;D

Saludos y Gracias...

PD: Lo acabo de leer por segunda vez y lo comprendí... Espero paciente lo otro que aprendiste...  :P
« Última modificación: 11 Julio 2008, 05:58 am por najmuddin » En línea

-DARAKknight-

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Otro uso de call
« Respuesta #6 en: 11 Julio 2008, 06:14 am »


Por fin lo entendí, y aprendí otras cosas más.  ;D


Bueno, no estaía de mal que nos enseñaras esas "Cosas más"...  ;D

Saludos y Gracias...

PD: Lo acabo de leer por segunda vez y lo comprendí... Espero paciente lo otro que aprendiste...  :P

Eso es un poco ambicioso, se aprende preguntando/leyendo cosas específicas, nadie te enseñará "todo".
En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Otro uso de call
« Respuesta #7 en: 11 Julio 2008, 06:29 am »

Otro ejemplo.

Código:
@echo off

set letra1=cia
set letra2=a
set letra3=o

call set word=%%letra1:%letra2%=%letra3%%%
echo %word%

pause
exit

« Última modificación: 11 Julio 2008, 06:43 am por carlitos.dll » En línea

najmuddin

Desconectado Desconectado

Mensajes: 56


DARAK


Ver Perfil
Re: Otro uso de call
« Respuesta #8 en: 11 Julio 2008, 23:04 pm »


Eso es un poco ambicioso, se aprende preguntando/leyendo cosas específicas, nadie te enseñará "todo".


Sí, eso lo sé, esa es la razón por la que puse las caritas (cocineros o lo que sea), pero parece que casi nunca soy claro con lo que digo, jeje...

Saludos Carlitos, te vuelvo a dar las gracias por el hilo, es realmente muy interesante...
En línea

-DARAKknight-

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines