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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [ Batch] (Solucionado) Problema sobre argumentos %1
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [ Batch] (Solucionado) Problema sobre argumentos %1  (Leído 4,222 veces)
Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.788



Ver Perfil
[ Batch] (Solucionado) Problema sobre argumentos %1
« en: 6 Noviembre 2011, 14:18 pm »

Hola

Necesito crear una variable de esta manera:

Código
  1. Set 10=$219

El problema viene cuando intento usarla...

Código
  1. Echo %10%

Se que el problema es porque el código de arriba en realidad hace esto:

Código
  1. Echo %1

¿Como puedo evitar el maldito argumento en este caso?


« Última modificación: 6 Noviembre 2011, 18:39 pm por EleKtro H@cker » En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: [ Batch] Problema sobre argumentos %1
« Respuesta #1 en: 6 Noviembre 2011, 14:52 pm »

Queres que muestre "$219" ? no uses el nombre de la variable como 10, usalo como p10 por ejemplo


En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.788



Ver Perfil
Re: [ Batch] Problema sobre argumentos %1
« Respuesta #2 en: 6 Noviembre 2011, 15:30 pm »

Queres que muestre "$219" ? no uses el nombre de la variable como 10, usalo como p10 por ejemplo

Hola edu, gracias por contestar, pero esa solución no la puedo aplicar... Porque lo que intento es setear el argumento del CALL

Mira, esto es lo que intento hacer:

Código
  1. @echo off
  2.  
  3. Colous writesec "[7] Eliminando bla bla bla bla..."
  4. Colous writesec "[14] $195          $180 0%%"
  5.  
  6.  
  7. REM Llamo a mi procedimiento con el argumento "50"
  8. call :PROGRESSBAR 50
  9. pause>nul
  10.  
  11. :#######################################################
  12.  
  13. :PROGRESSBAR
  14. :~~~~~~~~~~~
  15.  
  16. Set 10=$219
  17. Set 20=$219$219
  18. Set 30=$219$219$219
  19. Set 40=$219$219$219$219
  20. Set 50=$219$219$219$219$219
  21. Set 60=$219$219$219$219$219$219
  22. Set 70=$219$219$219$219$219$219$219
  23. Set 80=$219$219$219$219$219$219$219$219
  24. Set 90=$219$219$219$219$219$219$219$219$219
  25. Set 100=$219$219$219$219$219$219$219$219$219
  26.  
  27. REM El dibujito...
  28. colous 14 0 04,03 %%1%
  29.  
  30. REM El porcentaje...
  31. colous 14 0 15,03 %1%%
  32.  
  33. Goto :EOF


El resultado es esto:




Y mi intención es que quede así:

« Última modificación: 6 Noviembre 2011, 15:32 pm por EleKtro H@cker » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [ Batch] Problema sobre argumentos %1
« Respuesta #3 en: 6 Noviembre 2011, 16:39 pm »

A ver. en teoría no puedes, porque las variables con números están reservadas por las variables parametrizadas, %0 .. %9, así que no es recomendable y quizás no se pueda, además que en cualquier lenguaje, cualquiera, marca como regla que las variables jamás, jamás deben empezar por números, no es lógico, así que busca como llamar de otra manera tus variables.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.788



Ver Perfil
Re: [ Batch] Problema sobre argumentos %1
« Respuesta #4 en: 6 Noviembre 2011, 18:38 pm »

Vale muchas gracias por la aclaración Leo

Al final lo he resuelto sin engorronear mucho el código xD


Código
  1. @echo off
  2.  
  3. Colous writesec "[7] Eliminando bla bla bla bla..."
  4. Colous writesec "[08] $195          $180 0%%"
  5.  
  6. call :PROGRESSBAR 50
  7. pause>nul
  8.  
  9. :#######################################################
  10.  
  11. :PROGRESSBAR
  12. :~~~~~~~~~~~
  13.  
  14. If %1==10 (Set PROGRESS=$219)
  15. If %1==20 (Set PROGRESS=$219$219)
  16. If %1==30 (Set PROGRESS=$219$219$219)
  17. If %1==40 (Set PROGRESS=$219$219$219$219)
  18. If %1==50 (Set PROGRESS=$219$219$219$219$219)
  19. If %1==60 (Set PROGRESS=$219$219$219$219$219$219)
  20. If %1==70 (Set PROGRESS=$219$219$219$219$219$219$219)
  21. If %1==80 (Set PROGRESS=$219$219$219$219$219$219$219$219)
  22. If %1==90 (Set PROGRESS=$219$219$219$219$219$219$219$219$219)
  23. If %1==100 (Set PROGRESS=$219$219$219$219$219$219$219$219$219)
  24.  
  25. colous 10 0 04,03 %PROGRESS%
  26. colous 10 0 15,03 %1%%
  27. Goto :EOF
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [ Batch] (Solucionado) Problema sobre argumentos %1
« Respuesta #5 en: 6 Noviembre 2011, 19:40 pm »

Perfecto.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Solucionado] [VBS] Duda sobre los argumentos « 1 2 »
Scripting
SuperDraco 14 10,733 Último mensaje 2 Abril 2011, 04:50 am
por SuperDraco
[Solucionado] [ Batch ] Problema con argumentos :/
Scripting
SuperDraco 7 5,150 Último mensaje 3 Abril 2011, 02:27 am
por leogtz
[BATCH] Duda Shift, Y ¿Como saber cuantos argumentos necesito? [Solucionado] « 1 2 »
Scripting
SuperDraco 11 8,336 Último mensaje 8 Julio 2011, 23:12 pm
por leogtz
Problema con argumentos por defectos en funciones.
Programación C/C++
anonimo12121 3 2,253 Último mensaje 25 Julio 2012, 14:18 pm
por overxfl0w13
[QT][C++]Problema con slots que tienen argumentos.
Programación C/C++
anonimo12121 2 2,096 Último mensaje 13 Noviembre 2012, 22:29 pm
por anonimo12121
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines