Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - ſeptiembre 05, 2008, 10:51:59
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: parametrizacion 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: parametrizacion  (Leído 225 veces)
The Shadow
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 840


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« en: Junio 10, 2008, 11:43:37 »

  Al ejecutar un .bat, .cmd o al llamar a una funcion dentro de un bat (orden call), existen un tipo de variables que son definidas antes de que este se ejecute, estas son llamadas parametros y se definen con %0, %1, %2, %3, %4, %5, %6, %7, %8 y %9.

-Sintaxis de la llamada de un programa:
*nota: c:\> ~ se refiere a que se esta trabajando x consola.

sintaxis:
c:\>%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

Entonces tenemos que:
Ej1.:
c:\>prog.bat
%0 = ruta del programa

Ej2.:
c:\>prog echo hola
%0 = ruta del programa
%1 = echo
%2 = hola

Ej3.:
---------c:\>prog.bat---
 @echo off
%1 %2
 @echo on
----------fin--

c:\>prog echo hola
hola
c:\>

exp.: esto sucede ya que
%1 = echo
%2 = hola
entonces el programa ejecuta:
c:\>%1 %2  => c:\>echo hola
esto devuelve: "hola"

Ej4.::
------------c:\e1.bat----
 @echo off
if %1==at (echo He sido llamado por at desde las %2
                  pause
                  exit)
at 12:30 "c:\e1.bat at %time%"
exit
---------------fin---

Si en una llamada, un parametro no es definido, su valor es nulo.
c:\>prog echo hola
%1 = echo; %2 = hola; %3 =; %4 =; %5 =; %6 =; %7 =; %8 =; %9 =

Saludos
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
Espectro Infernal
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 803



Ver Perfil
« Respuesta #1 en: Junio 10, 2008, 02:31:14 »

Buen tuto, podemos juntarlo con el que hice sobre la parametrizaciñon en Batch y se publicó en la E-Zine, me gusta tu forma de explicar, eres rápido y conciso; yo sin embargo siempre me entretengo a epxlicarlo todo. xD

Bytes, Espectro Infernal.
En línea





The Shadow
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 840


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #2 en: Junio 10, 2008, 02:39:45 »

Pos claro! .. por mi esta perfecto que unamos los tutos. . . xD .. y sip mi manera de explicar ay veces no muxos la entienden, esa es la desventaja .. :s ...

Saludos!
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
:. Soldier .:
Colaborador
*****
Desconectado Desconectado

Mensajes: 788


<--Vencer es confiar en si mismo-->


Ver Perfil WWW Email
« Respuesta #3 en: Junio 10, 2008, 04:29:39 »

tshadow:
Pienso que sera mejor si juntaras todos tus nuevos post publicados hasta ahora para hacer un gran tutorial, asi se aprenderia mas y al final creo que ahora si en el Area de retos batch se armaria alguno XD, pero mas se haria para aprender, en lo personal me gustaria.

Salu2
En línea




Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

The Shadow
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 840


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #4 en: Junio 10, 2008, 05:14:18 »

si ps ... en eso estamos espectro y yo, ya veran que en unos dias ya se formalizara en manual/tutorial de BATCH de este foro con una gran recopilacion de tecnicas basicas-avanzadas.

y ps claro... los esperamos en los duelos

Saludos!
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
ECDundy
Habitual
*****
Desconectado Desconectado

Mensajes: 204


throw new exception(":)");

erick_cartman_ok
Ver Perfil WWW Email
« Respuesta #5 en: Julio 05, 2008, 05:42:50 »

Tengo 1 duda.
- si deseo asignarle una variable a un parametro. Luego como llamo al parametro.
por ejemplo
set %1=blue
echo %%1%
rem esto no devuelve blue
echo %%%1%
rem esto no devuelve blue
La importancia que radica en poder hacer esto esta en que si uno crea una etiqueta y desea que su uso no dependa de una unica variable y se pueda seguir usandola sin necesidad de resetear parametros anteriores. Permita entonces a la etiqueta establecer un nombre de uso.
por ejemplo
set %1Project=red
luego el poder trabajar con %1 llamando al valor que se le ha asignado.
De esta manera En un codigo de chronometro. El chronometro trabaja con una variable. Pero en ocaciones hay necesidad de usar mas de un chronometros al mismo tiempo. Luego no hay nada mejor que asignarle un nombre de identificacion al chronometro.
Por ejemplo
Chronometro Borrado Start
del ...
Chronometro Copiado Start
copy ...
------
Chronometro Borrado Stop
Chronometro Copiado Stop
rem Quedaria una variable definida por defecto en cada caso. O sea
%TimeBorrado%
y %TimeCopiado%
que no seria mas que poner
set Time%1=(Un tiempo)
Finalizando quedaria
set /a Total=%TimeBorrado%+%TimeCopiado%
echo Tiempo Total de ejecucion %Total%
La idea central seria lograr economizar las etiquetas y la interactividad del codigo
« Última modificación: Julio 05, 2008, 06:02:31 por ECDundy » En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

http://www.programmersheaven.com/user/ECDundy/blog/
The Shadow
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 840


Fucking mnemonic c0d1n6!

shadow@el-hacker.org
Ver Perfil Email
« Respuesta #6 en: Julio 05, 2008, 07:49:05 »

usa call de esta forma:

Código:
@echo off
call :st hola
echo %hola%&& pause&& exit

:st
call set %1=blue
goto :EOF

Saludos!
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion





Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglamento del Foro
     Linux  Registered User #473016
:: SmartGenius :: ツ
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1930


Jhoannita I <3 U ... ;)

smartgenius@el-hacker.org
Ver Perfil WWW
« Respuesta #7 en: Julio 05, 2008, 09:05:23 »

usa call de esta forma:

Código:
   @echo off
call :st hola
echo %hola%&& pause&& exit

:st
call set %1=blue
goto :EOF

Saludos!

mmm... interesante, esto esta muy bueno, asi nos creamos nuetras propias variables parametros xD

Saludos.
« Última modificación: Julio 05, 2008, 09:25:01 por :: SmartGenius :: » En línea



Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Proyecto Windows El-Hacker.com Edition...Colabora¡¡



Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion







Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Reglas del Area de Phreaking - Leetelas


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
TUTORIAL: Como Traducir Aplicaciones JAVA - Moviles


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Super Bluetooth Hack 1.08 en Español - by SmartGenius


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
[TUTORIAL] Como Hackear Telefonos por Bluetooth !!
ECDundy
Habitual
*****
Desconectado Desconectado

Mensajes: 204


throw new exception(":)");

erick_cartman_ok
Ver Perfil WWW Email
« Respuesta #8 en: Julio 06, 2008, 12:39:43 »

si, esa es la forma logica que se me habia ocurrido. Pero no es lo que estoy planteando ya que no es la solucion. El problema es que desde tu etiqueta st no puedes llamar al parametro %1 como una variable a la que les has asignado un valor.
Que sucede:
Si tu etiqueta trabaja con una variable no la puedes llamar 2 veces ya que setearia el resultado de la variable en la primera vez que la llamastes.
En especial si la etiqueta te guarda un valor en una variable como en el caso del chronometro para poder decir el tiempo. llamando nuevamente a la etiqueta la variable con la que trabajabas en el primer caso seria por defecto la misma y tomaria un nuevo valor. Por tanto cuando vuelves a llamar a la etiqueta primaria te daria un resultado erroneo.
Parece que no se puede hacer nada para resolver este problema no ?. A no ser que cambies la logica de tu codigo pero en conclucion perderias interactividad.

En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

http://www.programmersheaven.com/user/ECDundy/blog/
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, The Shadow)  |  Tema: parametrizacion « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC