Foros del Web » Programación para mayores de 30 ;) » Programación General »

CMD - Comando msg - ayuda

Estas en el tema de CMD - Comando msg - ayuda en el foro de Programación General en Foros del Web. Buenas! Hoy he aprendido una cosita... Y esa cosita es la siguiente: Si en un archivo .bat pones: Código: msg * "Hola holita vecinito" ... ...
  #1 (permalink)  
Antiguo 20/07/2010, 12:04
 
Fecha de Ingreso: enero-2009
Mensajes: 81
Antigüedad: 15 años, 11 meses
Puntos: 1
Exclamación CMD - Comando msg - ayuda

Buenas!

Hoy he aprendido una cosita...
Y esa cosita es la siguiente:

Si en un archivo .bat pones:

Código:
msg * "Hola holita vecinito"
... resulta qu en pantalla te sale un cuadro de texto con el boton "OK"
Hasta ahí bien.

Resulta que ahora quiero que en ese cuadro de dialogo aparezca un texto de un archivo que tengo en windows. Es decir, en C:\text.txt tengo unas lineas escritas, lo que yo quiero es a traves del archivo .bat, hacer que el texto ese se visualice con el comando msg

O sea, que cuando ejecute el archivo .bat, quiero que en pantalla me salga un cuadro de dialogo con el texto (string) del archivo .txt del directorio C:\

Llevo toda la tarde del Martes con esto, y no hay forma de sacarlo! No se como se hace! Alguien se le ocurre algo?

Muchas gracias!
  #2 (permalink)  
Antiguo 20/07/2010, 16:49
 
Fecha de Ingreso: enero-2009
Mensajes: 81
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: CMD - Comando msg - ayuda

Hola,

alguna idea?

De hecho, todo viene a raiz de que lo que en realidad quiero, es meter un salto de linea en el cuadro de dialogo.
Es decir, como si cuando estuvieras escribiendo en el bloc de notas le darias al "Enter" y te salta a la otra linea, hacia abajo.

Pero como tampoco conseguí hacer eso, me fui por las ramas...

Alguna idea más o consejo?


Thank you
謝謝
gràcies
grazas
  #3 (permalink)  
Antiguo 20/07/2010, 16:49
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: CMD - Comando msg - ayuda

Buenas, acabo de leer tu mensaje, y solo se me ocurre lo que dices con C, acabo de escribir el código y funciona, queda una cosa así:

Código c:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int cuenta(FILE *);
  6.  
  7. int main()
  8. {
  9.    FILE *fichero=NULL;
  10.    char buffer[250];
  11.    char *p;
  12.    char c;
  13.    int posicion=0;
  14.    int caracteres;
  15.  
  16.    if(!(fichero=fopen("text.txt","rt")))
  17.    {
  18.        perror("error");
  19.       return 0;
  20.    }
  21.  
  22.    caracteres = cuenta(fichero);
  23.    p=(char *) malloc(caracteres*sizeof(char));
  24.  
  25.    fseek(fichero,0,SEEK_SET);
  26.    while((c=fgetc(fichero))!=EOF)
  27.    {
  28.     *(p + posicion) = c;
  29.       posicion++;
  30.    }
  31.  
  32.    printf("%s",p);
  33.    getchar();
  34.    fflush(stdin);
  35.   sprintf(buffer,"msg * %s",p);
  36.   system(buffer);
  37.  
  38.   fclose(fichero);
  39.   return 1;
  40. }
  41.  
  42. int cuenta(FILE *fichero)
  43. {
  44.    char c;
  45.    int caracteres=0;
  46.  
  47.    fseek(fichero,0,SEEK_SET);
  48.    while((c=fgetc(fichero))!=EOF)
  49.       caracteres++;
  50.    return caracteres;
  51. }


En el primer getchar se puede ver que en el verctor p se guarda toda la información bien, pero con el comando msg solo imprime una linea del fichero.
Alomejor con el comando type se pueda hacer algo también, de todas formas este comando (msg) a partir de windows vista ya no esta.
  #4 (permalink)  
Antiguo 21/07/2010, 01:50
 
Fecha de Ingreso: enero-2009
Mensajes: 81
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: CMD - Comando msg - ayuda

Buenas de nuevo.

Sip, bien por el código, lo que pasa es que no sabría que hacer con él..., ya que está en C y no entiendo ni papa.
Las casualidades de la vida, mira que estoy programando en VB.NET, y me se algún que otro comando para MS-Dos, pero para C si que no sé ná de ná

Cita:
Alomejor con el comando type se pueda hacer algo también
Lo probé, pero, tú sabes si esto es valido?
Código:
set variable=type C:\text.txt
Porque luego le doy a:
Código:
echo %variable%
Y el cab...ón me saca esto:
Código:
type C:\text.txt
... en ved del texto extradio del archivo!! No se si sabrás lo que estoy haciendo mal


Cita:
de todas formas este comando (msg) a partir de windows vista ya no esta
Yo tengo ahora un Win7 y parece que tira. Pongo lo de msg * Hello, world! y me sale el cuadro de dialogo. No lo he probado en Vista.

Algúna idea más ?

gracias
Danke
дзякуй
grazie
  #5 (permalink)  
Antiguo 21/07/2010, 09:11
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: CMD - Comando msg - ayuda

Código:
set /p variable=<C:\Tu_archivo.txt
echo %variable%
msg * %variable%

Saludos!!
  #6 (permalink)  
Antiguo 21/07/2010, 12:07
 
Fecha de Ingreso: enero-2009
Mensajes: 81
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: CMD - Comando msg - ayuda

Hola

Justo en el clavo! Libras

Era eso lo que al fin al cabo quería, gracias pues.
De todas maneras, si en el "texto.txt" tienes un salto de linea (es decir, un 'enter') luego en el
Código:
echo
y/o
Código:
msg *
...no se te reproduce, solo te pilla los caracteres que esten alineados, es decir no te enseña el texto que esté en 'punto y a parte'.

Nos vemos!
  #7 (permalink)  
Antiguo 22/07/2010, 04:46
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 16 años, 6 meses
Puntos: 7
Respuesta: CMD - Comando msg - ayuda

Buenas!

Porque con "set" sólo puedes asignar una línea. Redirige directamente el fichero en una sola instrucción:

Código:
msg * < c:\Text.txt
Nos vemos!
__________________
wile sona li mute e sona
  #8 (permalink)  
Antiguo 31/01/2016, 12:33
 
Fecha de Ingreso: enero-2016
Mensajes: 1
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: CMD - Comando msg - ayuda

Más simple:

Código:
type c:\text.txt | msg *

Etiquetas: cmd, comando
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:29.