ayuda con codigo batch

Iniciado por zerocoolcom, 1 Junio 2010, 06:50 AM

0 Miembros y 1 Visitante están viendo este tema.

zerocoolcom

bueno tengo un problema y no se cual sea el problema es q me abre ventanas de cmd pero no me muestra los numeros si alguien me pueda decir por q  por q la verdad ya no se q pueda ser lo probe con

start "cmd %1 1" y con start"%1 1" y nomas no espero me puedan ayudar  :huh: :huh: :huh: :huh: :huh: :huh: :huh: :huh: :huh: :huh: :huh:



@echo on
IF [%1]==[] call :rutina & goto salto
IF %1==1 echo uno  & goto salto
IF %1==2 echo dos  & goto salto
IF %1==3 echo tres  & goto salto
IF %1==4 echo cuatro  & goto salto
IF %1==5 echo cinco  & goto salto
echo ni una
:salto
pause
exit

:rutina
echo empezo
start "%1 1"
start "cmd %1 1"
start "cmd %1 2"
start "cmd %1 3"
start "cmd %1 4"
start "cmd %1 5"
goto :EOF





:-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-(

leogtz

Etiqueta el código o eliminaré el mensaje.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

flony

#2
no se si te sirve pero bue aca lo pongo
@echo off
title by flony
set /p b=ingrese
if %b% == 5 (goto siga) else goto no
:siga
for /l %%x in (1,1,%b%) do start cmd %x%
echo fueron %b% cmd
pause
exit
:no
echo asi no
pause
exit

te da a elegir un numero si no es 5 dice q no si es 5 abre 5 cmd y te dice abriste 5 cmd  ;D
ahora si queres q dentro de los cmd este el mensaje de 5....ya lo averiguo  ;)
si un problema no tiene solucion entonces no es un problema...es algo inevitable

zerocoolcom

#3
Vas gracias por responder  ;D  y esta parte de este proyecto lo q pretendo hacer es poner 5 funciones dentro de un codigo batch y q si identifica q fue abierto sin argumentos se abra solito 5 veces colocando un argumento para cada vez q se abra.
Asi el solito se abrira pero cada vez q se abra interpretara una parte diferente de su codigo  >:D por eso es por lo q estaba intentando que aparecieran los numeros en las ventanas abiertas para ver si las nuevas ventanas lo estaban interpretando y viendo el codigo q puse note q estaba mas malote de lo q pense jaja  ;-)
Este codigo esta mejor hecho note q el otro tenia un error al intentarse referirse a si mismo


@echo on
IF [%1]==[] call :rutina %0 & goto salto
IF %1==1 echo uno  & goto salto
IF %1==2 echo dos  & goto salto
IF %1==3 echo tres  & goto salto
IF %1==4 echo cuatro  & goto salto
IF %1==5 echo cinco  & goto salto
echo ni una
:salto
pause
exit

:rutina
echo empezo
echo %1
start cmd "%1 1"
start cmd "%1 2"
start cmd "%1 3"
start cmd "%1 4"
start cmd "%1 5"
goto :EOF


Pero el problema es q las ventanas abiertas interpreten tambien

flony

#4
haaa bue mira para poner algo dentro de un bat seria algo asi
set /p d=ingrese lo que quiere poner
echo %d% >mibat.bat
start mibat.bat

eso seria funcion por funcion
....ahora no se si se puede meter cosas a un cmd si a un bat para que ejecute una cmd
mira habia pensado algo pero bue es para una funcion que se repite 5 veces vos agregales las otras
@echo off
title copyright by flony :)
set /p d=ingrese lo que quiere poner
set /p b=ingrese numero

if %b% == 5 (goto empieza) else goto no

:empieza
set /a c=1
:siga
if /I %c% LEQ 5 (goto ir) else goto fin
:ir
echo %d% >%c%.bat
start %c%.bat
set /a c=c+1
goto siga
pause
exit

:fin
echo se termino :)
pause
exit

:no
echo asi no ;)
pause
exit
si un problema no tiene solucion entonces no es un problema...es algo inevitable

zerocoolcom

muchas gracias por sus respuestas con respecto a la de flony podria ser una alternativa util pero el problema es q este codigo era parte de un proyecto y esta el unico objetivo era q creara diferentes procesos q se dedicarian a alguna cosa en particular (el codigo completo estaria divido en diferentes partes dedicadas) y con esto pretendia distribuir el trabajo en cada uno.

Para solucionarlo mejor cree un exe principal el cual creara el script y abriera el mismo poniendole para q lo queria para eso era la especie de menu de seleccion fue lo mas viable pero ya ha sido terminado.

No fue la forma q pensaba pero siempre hay una alternativa solo es cuestion de buscarla  ;D ::) se les agradece