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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Acumulación de archivos [BATCH]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Acumulación de archivos [BATCH]  (Leído 4,470 veces)
CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Acumulación de archivos [BATCH]
« en: 23 Diciembre 2009, 14:09 pm »



   Buenas,


   Estoy haciendo un programa que vaya acumulando unos ciertos datos, y en un punto, cuando el que ejecute el programa quiera, pueda ver el total de ellos. La cosa es que, el programa quiero que sirva para ir guardando datos de grabación de video, el user pone, he grabado 1 cinta, o 0.5 cinta, y entonces yo doy variables 1c=60, 0.5=30, pero luego quiero que eso se vaya guardando, yo he pensado guardarlo en un .bat aparte y así me quedó:

Código:
   @echo off

set /p cantidad=Cintas-Minutos:
if %cantidad%==0.5c ( goto cant05c
:cant05c
echo 30 minutos

echo set /a total+=30>>datos.bat

pause>nul )

exit


   Y luego quedaría en el otro programa que el total es 30, pero mi problema es, como puedo poner para que el resultado se muestre, ya que si cada vez que se introducen datos pongo el echo echo loquesea>>datos.bat,  cada vez que introduces un total estaría saliendo luego  , echo 30, echo 90.

   Bueno, no sé si se me entendió muy bien.

   Saludos.




En línea

---saster---

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: Acumulación de archivos [BATCH]
« Respuesta #1 en: 23 Diciembre 2009, 16:16 pm »

no se si te entendido :P

si no quieres que te salgan los datos seguidos pon una unica redireccion ">". Así solo te saldrá el resultado final

saludos.


En línea

CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: Acumulación de archivos [BATCH]
« Respuesta #2 en: 23 Diciembre 2009, 16:28 pm »


  No te he entendido muy bien, la cosa es que en el nuevo .bat quedaría así:


  set /a total+=30
  set /a total+=30

 y si pongo un echo y añado más y luego un echo quedaría así:


set /a total+=30
set /a total+=30
echo %total%
set /a total+=30
echo %total%

   Y entonces imprimiría dos totales, yo quiero que de la posibilidad de verse el "Total" , pero una vez solo, y la última, por que entonces quedaría :  60 y luego 90, y en este caso, solo quiero que muestre el final, el 90.

   Saludos.



  EDITO: he probado lo que me dices, pero eso sustituye todo, y claro muestra el último, pero yo me refiero a la última suma total.
« Última modificación: 23 Diciembre 2009, 16:31 pm por CaronteGold » En línea

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

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acumulación de archivos [BATCH]
« Respuesta #3 en: 23 Diciembre 2009, 20:25 pm »

No te he entendido nada, por favor, vuelvelo a plantear con más calma.
Citar
yo doy variables 1c=60, 0.5=30

Mal, es un mal hábito crear variables con nombres que tengan poco o nada que ver con lo que harán.
En línea

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

Desconectado Desconectado

Mensajes: 11



Ver Perfil WWW
Re: Acumulación de archivos [BATCH]
« Respuesta #4 en: 23 Diciembre 2009, 22:58 pm »

Yo creo que lo que quiere hacer nuestro amigo es estar recopilando datos una cierta cantidad de minutos pero cuando llege a 90 esto termine de recopilar datos y se cierra es eso lo que quieres hacer?
En línea

CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: Acumulación de archivos [BATCH]
« Respuesta #5 en: 24 Diciembre 2009, 00:18 am »


Yo creo que lo que quiere hacer nuestro amigo es estar recopilando datos una cierta cantidad de minutos pero cuando llege a 90 esto termine de recopilar datos y se cierra es eso lo que quieres hacer?
 
  No, no es eso lo que quería hacer, me he explicado mal  :xD


No te he entendido nada, por favor, vuelvelo a plantear con más calma.
Citar
yo doy variables 1c=60, 0.5=30

Mal, es un mal hábito crear variables con nombres que tengan poco o nada que ver con lo que harán.

  
   Bueno , 1c quiere decir 1cinta, en este caso 1 cinta de video que son 60 minutos, una hora.

    Voy a explicar mejor:

 
  Lo que quiero hacer es un programa, que tu vayas insertando, unos datos, como esto:

1,0.5c,2c,3c   ----> Es decir, una cinta, media cinta, 2 cintas , 3 cintas. De manera que pongo la variable indicando que 1c son 60, 0.5c son 30, y así sucesivamente.

  Esto lo hago con variables, y bien... quiero que estos datos se vayan acumulando, la única forma que ví es ir poniendolos en un .bat, de esta forma:

 set /a total+=loquesea

   Y así va sumando ejemplo: 30..+60...+120.... , y cuando se quiera ver pues ese es el problema, tendría que poner un "echo %total%", para que me lo muestre, pero la cosa es que si voy pasando datos quedaría:


   set /a total+=30
   set /a total+=90
   set /a total+=120
   set /a total+=60

  Y si ahí pongo un "echo", mostraría la suma de , 30+90+120+60, pero si vuelvo a dar más datos, y vuelvo a poner un echo, mostraría el echo anterior y el siguiente que ponga, y yo quiero que solo muestre uno, el total, entonces tendría que actuar borrando el "echo %total%" y que se sustituya, por otro abajo del todo, de manera que al imprimir la variable " total ", siempre quede al final.


  Vuelvo a explicar lo anterior con códigos...

   Si voy acumulando datos queda :

Código:
   set /a total+=30
   set /a total+=90
   set /a total+=120
   set /a total+=60

    Y si quiero ver la variable queda:

Código:
   set /a total+=30
   set /a total+=90
   set /a total+=120
   set /a total+=60
   echo %total%

    Pero si vuelvo a dar mas datos queda:
Código:
   set /a total+=30
   set /a total+=90
   set /a total+=120
   set /a total+=60
   echo %total%
   set /a total+=60

   Y si a eso le añado otro " echo %total%,  si imprimen dos, y solo quiero ver la última y final.


  Espero que ahora se haya entendido,

  Saludos y gracias.

 


  
« Última modificación: 24 Diciembre 2009, 00:21 am por CaronteGold » En línea

CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: Acumulación de archivos [BATCH]
« Respuesta #6 en: 24 Diciembre 2009, 00:19 am »


  Borren este post,
« Última modificación: 24 Diciembre 2009, 00:22 am por CaronteGold » En línea

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

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acumulación de archivos [BATCH]
« Respuesta #7 en: 24 Diciembre 2009, 01:28 am »

¿Todo el post o los mensajes?
En línea

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


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: Acumulación de archivos [BATCH]
« Respuesta #8 en: 24 Diciembre 2009, 01:34 am »



 
   Me equivoqué, me refería a los mensajes, es que al editar puse 2 de más.  :xD
En línea

CaronteGold


Desconectado Desconectado

Mensajes: 339



Ver Perfil
Re: Acumulación de archivos [BATCH]
« Respuesta #9 en: 24 Diciembre 2009, 16:38 pm »


   He pensado que podría hacerse, mandando leer o procesar solo las tres últimas líneas del programa, es decir la variable, el " echo %total% y pause.

   Podría hacerse eso ¿?.

 
  Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Archivos Batch.
Scripting
B€T€B€ 0 2,087 Último mensaje 31 Mayo 2011, 00:41 am
por B€T€B€
[Batch] Ice Crack 1.3 (Stealer y craqueador de archivos) « 1 2 3 4 »
Scripting
Eleкtro 34 29,914 Último mensaje 19 Mayo 2013, 01:50 am
por Zebas
Archivos .bat (batch) que se remplacen mutuamente
Scripting
Caparroni 0 1,704 Último mensaje 13 Febrero 2016, 12:46 pm
por Caparroni
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines