Normas del foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Diciembre 04, 2008, 08:40:25
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Batch
(Moderadores:
Espectro Infernal
,
|Shadow|
) | Tema:
parametrizacion
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: parametrizacion (Leído 304 veces)
|Shadow|
Dein Nulls
Moderadores
Colaborador
Desconectado
Mensajes: 917
Fucking mnemonic c0d1n6!
parametrizacion
«
en:
Junio 10, 2008, 10: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
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Reglamento del Foro
Linux Registered User #473016
Espectro Infernal
T0 d0: -> Mejorar 3 en raya
Moderadores
Gran Colaborador
Desconectado
Mensajes: 1064
ESPECTRO INFERNAL
Re: parametrizacion
«
Respuesta #1 en:
Junio 10, 2008, 01: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
|Shadow|
Dein Nulls
Moderadores
Colaborador
Desconectado
Mensajes: 917
Fucking mnemonic c0d1n6!
Re: parametrizacion
«
Respuesta #2 en:
Junio 10, 2008, 01: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
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Reglamento del Foro
Linux Registered User #473016
:. Soldier .:
Game Over
Gran Colaborador
Conectado
Mensajes: 1100
I'm Jarvis
Re: parametrizacion
«
Respuesta #3 en:
Junio 10, 2008, 03: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
Visita mi Blog: ↓
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
|Shadow|
Dein Nulls
Moderadores
Colaborador
Desconectado
Mensajes: 917
Fucking mnemonic c0d1n6!
Re: parametrizacion
«
Respuesta #4 en:
Junio 10, 2008, 04: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
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Reglamento del Foro
Linux Registered User #473016
ECDundy
Habitual
Desconectado
Mensajes: 239
Re: parametrizacion
«
Respuesta #5 en:
Julio 05, 2008, 04: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, 05:02:31 por ECDundy
»
En línea
|Shadow|
Dein Nulls
Moderadores
Colaborador
Desconectado
Mensajes: 917
Fucking mnemonic c0d1n6!
Re: parametrizacion
«
Respuesta #6 en:
Julio 05, 2008, 06: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
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Reglamento del Foro
Linux Registered User #473016
:: SmartGenius™ ::
[Splendit Smart]
Moderación
Gran Colaborador
Desconectado
Mensajes: 2511
Campusero... :P
Re: parametrizacion
«
Respuesta #7 en:
Julio 05, 2008, 08:05:23 »
Cita de: The Shadow en Julio 05, 2008, 06: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!
mmm... interesante, esto esta muy bueno, asi nos creamos nuetras propias variables parametros xD
Saludos.
«
Última modificación: Julio 05, 2008, 08:25:01 por :: SmartGenius ::
»
En línea
ECDundy
Habitual
Desconectado
Mensajes: 239
Re: parametrizacion
«
Respuesta #8 en:
Julio 05, 2008, 11: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
Páginas:
[
1
]
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Batch
(Moderadores:
Espectro Infernal
,
|Shadow|
) | Tema:
parametrizacion
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foros De Consulta General
-----------------------------
=> Novedades
=> Dudas, Comentarios Y Sugerencias
=> Top 100
=> Off-Topic
=> Revista E-Zine
===> Noticias
-----------------------------
Phreaking, Hacking y Seguridad
-----------------------------
=> HacK GeneraL
===> Ingenieria Inversa
===> Encriptacion, Cryptografia
===> TV HACK
===> Cursos y Ezines
=====> Trucos Internet
=====> Textos Hacking
===> Defacing
=> Seguridad
=> Phreaking
===> Moviles
=> Bug y Exploits
===> Directorio de Exploits
=> Wargames, Retos Hack
-----------------------------
Hack Novato
-----------------------------
=> Hack para newbies
=> Todo Messenger
=> Troyanos y virus
-----------------------------
Sistemas Operativos
-----------------------------
=> Windows y otros sistemas operativos no libres
===> Problemas Tecnicos Windows
=> Sistemas operativos libres.
===> GNU/Linux
===> Manuales y Tutoriales
===> Descargas
-----------------------------
Programacion
-----------------------------
=> Programación
===> Programación Basica
===> Otros Lenguajes
===> Visual Basic y Net
===> ASM
===> Programacion Shell
===> Perl
===> Carbide C/C#/C++
===> Batch
===> SQL
=> Programacion para webmasters
===> Consultas Generales
===> Php
===> Html, XHTML, CSS
===> Java - Java Script
===> CMS O Scripts Pre-Fabricados
===> Posicionamiento en buscadores
-----------------------------
Artes Graficas
-----------------------------
=> Diseño Grafico
===> Battle Arts
===> Flash
===> Tutoriales
===> Galerías
===> Software
-----------------------------
Area Tecnica
-----------------------------
=> Networking & Wireless
=> Overclocking, Refrigeracion y demas
=> Hardware
===> Biblioteca Tecnica
=> Electronica Y Robotica
-----------------------------
Programas
-----------------------------
=> Software
===> Configuraciones de software
===> Pedidos de software
=> Cracks & Serialz
=> P2p, Bittorrent, Elinks
-----------------------------
Multimedia Y Divx
-----------------------------
=> Juegos PC Y Consolas
===> Dudas ayudas y comentarios de juegos
===> Pedidos de juegos
===> Juegos de Consola
=> Mp3
=> Multimedia
=> Peliculas Divx
-----------------------------
Entretenimiento Y sitios de interes
-----------------------------
=> Juegos, Humor y Adultos. (Diversión)
=> Paginas Webs Recomendadas
=> Videos
Powered by SMF 1.1.7
|
SMF © 2006-2007, Simple Machines LLC
Loading...