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

Fichero por lotes (.bat) MS-DOS

Estas en el tema de Fichero por lotes (.bat) MS-DOS en el foro de Programación General en Foros del Web. Hola llevo tiempo preguntando y preguntando, mirando manuales y no mirándolos, para intentar el simple ejercicio en otros lenguajes que consiste en lo siguiente: realizar ...
  #1 (permalink)  
Antiguo 22/04/2008, 09:22
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Fichero por lotes (.bat) MS-DOS

Hola llevo tiempo preguntando y preguntando, mirando manuales y no mirándolos, para intentar el simple ejercicio en otros lenguajes que consiste en lo siguiente:

realizar un programa (pongámosle de nombre "mayus.bat") y cuando pusiera "mayus alfredo" me escribiera en pantalla el nombre que he introducido, pero en mayúscula (ALFREDO)

muxísimas gracias, y espero que alguien sea capaz de hacerlo :D

PD: es pura cabezonería
  #2 (permalink)  
Antiguo 22/04/2008, 10:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Re: Fichero por lotes (.bat) MS-DOS

Cita:
Iniciado por javilito Ver Mensaje
Hola llevo tiempo preguntando y preguntando, mirando manuales y no mirándolos, para intentar el simple ejercicio en otros lenguajes que consiste en lo siguiente:

realizar un programa (pongámosle de nombre "mayus.bat") y cuando pusiera "mayus alfredo" me escribiera en pantalla el nombre que he introducido, pero en mayúscula (ALFREDO)

muxísimas gracias, y espero que alguien sea capaz de hacerlo :D

PD: es pura cabezonería
No, hasta donde yo sé no es posible hacerlo.
Puedes hacerlo con cualquier otro lenguaje como has mencionado...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 24/04/2008, 01:54
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: Fichero por lotes (.bat) MS-DOS

Para pasar de minusculas a mayusculas te paso un script mio.
Funciona para la shell cmd a partir de XP/2K3 en adelante.

@echo off
echo Script Mayus
echo -------------
echo.
echo.
echo Introduce una palabra o frase:
set /P inputstring=
echo.
echo La vamos a pasar todo a mayusculas

set inputstring=%inputstring:a=A%
set inputstring=%inputstring:b=B%
set inputstring=%inputstring:c=C%
set inputstring=%inputstring:d=D%
set inputstring=%inputstring:e=E%
set inputstring=%inputstring:f=F%
set inputstring=%inputstring:g=G%
set inputstring=%inputstring:h=H%
set inputstring=%inputstring:i=I%
set inputstring=%inputstring:j=J%
set inputstring=%inputstring:k=K%
set inputstring=%inputstring:l=L%
set inputstring=%inputstring:m=M%
set inputstring=%inputstring:n=N%
set inputstring=%inputstring:ñ=Ñ%
set inputstring=%inputstring:o=O%
set inputstring=%inputstring:p=P%
set inputstring=%inputstring:q=Q%
set inputstring=%inputstring:r=R%
set inputstring=%inputstring:s=S%
set inputstring=%inputstring:t=T%
set inputstring=%inputstring:u=U%
set inputstring=%inputstring:v=V%
set inputstring=%inputstring:w=W%
set inputstring=%inputstring:x=X%
set inputstring=%inputstring:y=Y%
set inputstring=%inputstring:z=Z%


echo.
echo la palbra o frase en mayusculas es: %inputstring%

echo.
echo.
echo pulsa una tecla para finalizar
pause > nul
rem Javier Castañón 2.008



salu2
  #4 (permalink)  
Antiguo 24/04/2008, 04:37
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: Fichero por lotes (.bat) MS-DOS

volví a leer tu post y creo que lo que tu pedias es esto:

@echo off
echo Script Mayus
echo -------------
echo.
echo.
echo Introduce una palabra o frase:
set /P inputstring=
echo.


if %inputstring:minus=%==%inputstring% goto sin_minus
set inputstring=%inputstring:minus=%
set inputstring=%inputstring:a=A%
set inputstring=%inputstring:b=B%
set inputstring=%inputstring:c=C%
set inputstring=%inputstring:d=D%
set inputstring=%inputstring:e=E%
set inputstring=%inputstring:f=F%
set inputstring=%inputstring:g=G%
set inputstring=%inputstring:h=H%
set inputstring=%inputstring:i=I%
set inputstring=%inputstring:j=J%
set inputstring=%inputstring:k=K%
set inputstring=%inputstring:l=L%
set inputstring=%inputstring:m=M%
set inputstring=%inputstring:n=N%
set inputstring=%inputstring:ñ=Ñ%
set inputstring=%inputstring:o=O%
set inputstring=%inputstring:p=P%
set inputstring=%inputstring:q=Q%
set inputstring=%inputstring:r=R%
set inputstring=%inputstring:s=S%
set inputstring=%inputstring:t=T%
set inputstring=%inputstring:u=U%
set inputstring=%inputstring:v=V%
set inputstring=%inputstring:w=W%
set inputstring=%inputstring:x=X%
set inputstring=%inputstring:y=Y%
set inputstring=%inputstring:z=Z%

echo La vamos a pasar todo a mayusculas
echo.
echo la palabra o frase en mayusculas es: %inputstring%
goto fin
:sin_minus
echo.
echo.
echo la palabra o frase es: %inputstring%
:fin
echo.
echo.
echo pulsa una tecla para finalizar
pause > nul
rem Javier Castañón 2.008



Por cierto, te recomiendo que pongas a los posts sucesivos títulos más apropiados, p.e: Pasar de minúsculas a mayúsculas con script bat o cmd

salu2
  #5 (permalink)  
Antiguo 24/04/2008, 13:19
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Fichero por lotes (.bat) MS-DOS

Puedes hacer, como preguntabas, que la palabra venga por parametro, al llamar al programa, solamente te tienes que referir a ella con %1

Ejemplo practico: aa.bat

@echo off
echo %0
echo %1

Al llamarlo escribiendo en la linea de comandos "aa alfredo" mostrará por pantalla:

aa
alfredo

Lo de pasar a mayúsculas es más complicado porque un fichero de procesos por lotes no es un programa, es un script, que tiene un gran diferencia, y no están pensados para ésto.

Un saludo.
  #6 (permalink)  
Antiguo 25/04/2008, 03:31
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: Fichero por lotes (.bat) MS-DOS

Un script es un programa interpretado ... Por lo que se pueden hacer bastantes cosas, el hecho es que ya le he dado una solución, que parece no has visto


salu2
  #7 (permalink)  
Antiguo 25/04/2008, 19:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Fichero por lotes (.bat) MS-DOS

La he visto, pero esa solucion pedia introducir el texto, no lo cogía por parámetro, que es lo que él pedia, y es lo único que le he explicado, no he entrado en el tema de pasar a mayúsculas porque ya lo habias hecho tu.

Con un script JS o VBS harás lo que tu quieras, pero con un .BAT...

Última edición por c_keeper; 25/04/2008 a las 19:57
  #8 (permalink)  
Antiguo 29/04/2008, 02:31
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: Fichero por lotes (.bat) MS-DOS

Cita:
realizar un programa (pongámosle de nombre "mayus.bat") y cuando pusiera "mayus alfredo" me escribiera en pantalla el nombre que he introducido, pero en mayúscula (ALFREDO)
¿Donde dice que el texto lo tenga que coger por parámetro?
Cita:
y despues vas tu y dices
Lo de pasar a mayúsculas es más complicado porque un fichero de procesos por lotes no es un programa, es un script, que tiene un gran diferencia, y no están pensados para ésto.
Cuando ya está explicado justo en el post anterior ...

Me parece que puedes tener problemas de comprensión del castellano escrito

salu2
  #9 (permalink)  
Antiguo 29/04/2008, 17:23
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Fichero por lotes (.bat) MS-DOS

Alomejor los problemas de comprensión los tienes tú, de castellano escrito, y hasta de scripting, tanto que te las das de entendido.

Tú solo copias las frases que te dejan en evidencia:

Código:
(pongámosle de nombre "mayus.bat") y cuando pusiera "mayus alfredo"
Alomejor no sabes lo que es pasar algo como parámetro, pero si el programa se llama mayus.bat y el quiere poner por ejemplo "mayus alfredo"... chico, lo siento, pero creo que está claro, quiere pasar "alfredo" como parámetro.

Si no lo ves, lee dos veces, y antes de decir a alguien que tiene problemas de comprensión, relee una tercera si hace falta.

Otra cosa, en tu super script (que se ve que estás muy orgulloso, ahi metiendole tus derechos practicamente y todo.. xD) necesitas (contadas) 30 lineas, para hacer lo que con Javascript, VBA o cualquier lenguaje de programación, basta una.

Entonces explicamelo, ¿es más complicado o no es más complicado?

Es que entiendo que estés orgulloso de hacer un script y que funcione, y de ponerle tu nombre al final como si hubieras hecho un programón cuando lo unico que has hecho ha sido pasar una cadena a mayúsculas (uuh), pero aquí se trata de ayudar, así que el orgullo te lo guardas en un bolsillo.

Y si no entiendes, lees otra vez...

Pues no va el tio y me dice que no ve donde se dice que el texto se tenga que coger por parámetro.. copiandome la frase exacta donde lo piden.. y me dice que no comprendo... xD

Ala majo, sigue realizando superscripts y registralos a tu nombre.
  #10 (permalink)  
Antiguo 30/04/2008, 06:43
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: Fichero por lotes (.bat) MS-DOS

Estas un poco loco, a parte de no entender el castellano escrito ... o dices estupideces, que es lo más probable
Por eso creo que lo mejor será que te doblen la medicación ...
  #11 (permalink)  
Antiguo 30/04/2008, 07:20
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Fichero por lotes (.bat) MS-DOS

Lo que tú quieras wapete.

Aquí no estamos ni para discutir ni para dar palmaditas en la espalda por un script básico de primer curso, venga no llores, que ya te he dicho que tu script es muy bueno y molón.
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 09:23.