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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Mini-manual sobre las variables de expansion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mini-manual sobre las variables de expansion  (Leído 1,449 veces)
ne0x

Desconectado Desconectado

Mensajes: 270



Ver Perfil
Mini-manual sobre las variables de expansion
« en: 26 Mayo 2007, 22:02 pm »

Usando las variables de expansión


Sustitución de caracteres:


Para sustituir uno o varios caracteres de una variable por otro hacemos lo siguiente:

Código:
SET VariableResultado=%VariableOriginal:string1=string2%

La VariableResultado y la VariableOriginal pueden ser las mismas o no, lo meremos mejor mas adelante en los ejemplos.

string1 es el caracter o los caracteres que vamos a sustituir y logicamente string2 es el caracter o los caracteres por los que van a ser sustituidos. SI no ponemos el string2, strin1 se sustituira por nada, es decir, desaparacera.

Ejemplos:

Código:
SET VAR=hijo
SET RESULTADO=%VAR:o=a%
ECHO %RESULTADO%

Mostrara por pantalla "hija"

El siguiente codigo también haria lo mismo:

Código:
SET VAR=hijo
SET VAR=%VAR:o=a%
ECHO %VAR%

Ahora unos cuantos os preguntareis por que usamos el simbolo de porcentaje, "%", eso es por que le estas dando a una variable el valor de otra (modificado, claro esta)

Mirar este code:
Código:
SET /P PALABRA=
IF [%PALABRA%]==[] ECHO No has puesto nada !&pause&exit
SET PALABRA=%PALABRA:a=!%
SET PALABRA=%PALABRA:b="%
SET PALABRA=%PALABRA:c=·%
.......
.......
ECHO %PALABRA%

De esta forma tendríamos un cifrador en batch, y haciendolo al reves un descifrador.
Recordar que strin1 y strin2 pueden ser varios carácteres tambien.

Código:
SET VAR=hola
SET VAR=%VAR:a=aa%
SET VAR=%VAR:h=hh%
SET VAR=%VAR:o=oo%
SET VAR=%VAR:l=ll%
ECHO %VAR%

Mostraría "hhoollaa"

Extracción de carácteres:


Bien esta es una parte muy interesante, nos permita obtener "trozos" de variables llamados subcadenas, existen varias formas para ello, siendo la principal:

Código:
SET VariableResultado=%VariableOriginal:~m,n%

Almacena en la VariableResultado la subcadena que existen en la VariableOriginal desde la posición "m" durante "n" carácteres.

Ejemplo:
Código:
SET VAR=123456789
SET RES=%VAR:~3,2%
ECHO %RES%

Mostraria por pantalla:
45 (los dos caracteres a partir del tercero)

Como en la sustitución de carácteres, la VariableResultado y la VariableOriginal pueden ser las mismas.

Si "m" o "n" son iguales a 0 pueden omitirse, por ejemplo:

Código:
SET VAR=123456789
SET RES1=%VAR:~,5%
SET RES2=%VAR:~0,5%
IF %RES1%==%RES2% ECHO Funciona
ECHO %RES1%=%RES2%

Mostraria por pantalla, "Funciona" y despues:
12345=12345

Lo mismo con el siguiente code:
Código:
SET VAR=123456789
:: Lo siguiente significa extraer a partir del caracter 5º hasta el final
SET RES1=%VAR:~5%
SET RES2=%VAR:~5,4%
IF %RES1%==%RES2% ECHO Funciona
ECHO %RES1%=%RES2%

Mostraria primero por pantalla "Funciona" y despues:
6789=6789

Estos metodos abreviados son utiles para cuando no conocemos el numero de caracteres de la variable, sobre todo el 2º, ya que si queremos extraer los 3 ultimos caracteres pero no sabemos a partir del cual seria eso no lo podriamos hacer.

Ejemplos bastante usados:

Código:
SET DIA=%DATE:~,2%
SET MES=%DATE:~3,2%
SET AÑO=%DATE:~6%

Lo mismo para sacar las horas, minutos y segundos de la variable %TIME%, etc...


« Última modificación: 26 Mayo 2007, 22:34 pm por ne0x » En línea

sirdarckcat
Aspirante a supervillano
Moderador Global
***
Desconectado Desconectado

Mensajes: 7.019


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Mini-manual sobre las variables de expansion
« Respuesta #1 en: 27 Mayo 2007, 00:21 am »

Mas info en:
http://foro.elhacker.net/index.php/topic,132924.0.html sección "Variables y Argumentos.".

Saludos!!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Aporte] mINI.bas - Guardar Variables en un Archivo INI. Permite Multilinea
Programación Visual Basic
agus0 5 3,628 Último mensaje 25 Noviembre 2010, 02:24 am
por BlackZeroX (Astaroth)
Opinion sobre Mini Pc's tipo $74 MK802 Android 4.0 Mini PC
Hardware
perikowei 1 1,593 Último mensaje 13 Septiembre 2012, 19:56 pm
por Aprendiz-Oscuro
Información sobre variables
Java
reygecko 2 1,479 Último mensaje 2 Enero 2013, 17:48 pm
por reygecko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines