Test Foro de elhacker.net SMF 2.1

Foros Generales => Dudas Generales => Mensaje iniciado por: nnbat en 25 Marzo 2011, 22:36 PM

Título: bat ayuda plisseeee
Publicado por: nnbat en 25 Marzo 2011, 22:36 PM
hola mi nombre es nicolas hice este programa de prueba(ver codigo abajo)

pero no se como lograr que me guarde los datos en un txt explico:

@echo off
title programa
cls
:main
echo **********************************************************************
set/p nombre= cual es tu nombre?
set/p apellido= cual es tu apellido?
set/p usuario= decime tu usuario
echo.
echo te llamas %nombre% tu apellido es %apellido% y tu usuario es %usuario%
echo **********************************************************************
echo.Desea guardar los datos? Y/N

pause
exit

donde dice desea guardar los datos Y/N no se como programarlo para apretar (Y)
y que me guarde los datos en un archivo txt

si me pueden dar una mano se los voy a agradecer me estoy volviendo completamente locoooooo jajajajaja saludos nnbat
Título: Re: bat ayuda plisseeee
Publicado por: Edu en 25 Marzo 2011, 23:06 PM
Fijate como lo hice y entenderas me imagino como es la cosa.


@echo off
title programa
:main
cls
echo **********************************************************************
set/p nombre= cual es tu nombre?
set/p apellido= cual es tu apellido?
set/p usuario= decime tu usuario
echo.
echo te llamas %nombre% tu apellido es %apellido% y tu usuario es %usuario%
echo **********************************************************************
echo.
set /p "opc= Desea guardar los datos? Y/N :  "
if not defined opc (goto :main)

if %opc% == Y (goto :Guardar)
if %opc% == y (goto :Guardar)
if %opc% == N (goto :main)
if %opc% == N (goto :main)
goto main


:Guardar
echo Tu nombre es %nombre% y tu apellido %apellido% y tu usuario es %usuario%> C:\Datos.txt
goto main

exit


No lo probe pero creo q andara y obvio q se podria hacer mucho mas lindo y mas seguro

edit: Corregido!
Título: Re: bat ayuda plisseeee
Publicado por: nnbat en 26 Marzo 2011, 16:38 PM
NO ME LO GUARDO
Título: Re: bat ayuda plisseeee
Publicado por: nnbat en 26 Marzo 2011, 16:45 PM
por que pusiste esto if not defined opc (goto :main) que significa?
Título: Re: bat ayuda plisseeee
Publicado por: Edu en 26 Marzo 2011, 16:54 PM
Yo lo probe y anduvo, q ruta pusiste vs?

Eso del if not defined opc (goto :main) es por si no pusiste nada y solo pones enter, eso tendrias q hacerlo en todas las opciones q pides arriba tamb.

El menu funciona asi:

Si no pusiste nada, es decir, solo enter va a main de nuevo, pero eso lo podes cambiar vs.
Despues verifica si pusiste Y o N o en minusculas y hace lo q tiene q hacer.
Y por ultimo tenes q poner un goto main por si pone otra cosa q no sea ni N, ni Y, ni n, ni.

Algo asi tendrias q hacer siempre en los menus.
Título: Re: bat ayuda plisseeee
Publicado por: nnbat en 26 Marzo 2011, 17:00 PM
POR CASUALIDAD TENGO QUE TENER EL PROGRAMA EN DONDE QUIERO DATOS.TXT?
Título: Re: bat ayuda plisseeee
Publicado por: chocola en 26 Marzo 2011, 17:09 PM
wenas a todos

el bat si funciona lo he comprobado
lo guarda dentro de la unidad c en un archivo que se llama datos.txt

:Guardar
echo Tu nombre es %nombre% y tu apellido %apellido% y tu usuario es %usuario%> C:\Datos.txt
goto main


suerte
Título: Re: bat ayuda plisseeee
Publicado por: nnbat en 26 Marzo 2011, 17:22 PM
no me lo guarda
Título: Re: bat ayuda plisseeee
Publicado por: SuperDraco en 26 Marzo 2011, 17:38 PM
No, no funcionaba, a mi tampoco me guardaba ningún archivo, te colaste en unas comillas del IF :P



Ahora si funciona:

Código (DOS) [Seleccionar]
@echo off
title programa
:main
cls
echo **********************************************************************
set/p nombre= cual es tu nombre?
set/p apellido= cual es tu apellido?
set/p usuario= decime tu usuario
echo.
echo te llamas %nombre% tu apellido es %apellido% y tu usuario es %usuario%
echo **********************************************************************
echo.
set /p "opc= Desea guardar los datos? Y/N :  "
if not defined opc (goto :main)

if %opc% == Y (goto :Guardar)
if %opc% == y (goto :Guardar)
if %opc% == N (goto :main)
if %opc% == N (goto :main)
goto :main


:Guardar
cls
echo Tu nombre es %nombre% y tu apellido %apellido% y tu usuario es %usuario%> "C:\Datos.txt"
Echo+ Se han guardado los datos...
Ping -n 3 LOCALHOST >nul
exit




saludosss
Título: Re: bat ayuda plisseeee
Publicado por: nnbat en 26 Marzo 2011, 17:42 PM
graciasssssssssssssssssssssssssssssssss
Título: Re: bat ayuda plisseeee
Publicado por: Edu en 26 Marzo 2011, 18:12 PM
Ya, mil q no uso batch y me confundo con las comillas q las uso siempre ahora, me podes explicar cuando hay q usarlas y cuando no?
Título: Re: bat ayuda plisseeee
Publicado por: SuperDraco en 26 Marzo 2011, 19:04 PM
Cita de: XXX-ZERO-XXX en 26 Marzo 2011, 18:12 PM
Ya, mil q no uso batch y me confundo con las comillas q las uso siempre ahora, me podes explicar cuando hay q usarlas y cuando no?

En esta ocasión, el usuario debería haber introducido como respuesta:  "Y"  con comillas para que fuese valida xD

saludosss
Título: Re: bat ayuda plisseeee
Publicado por: Edu en 26 Marzo 2011, 20:09 PM
y luego en lo de la ruta del archivo q yo lo puse sin comillas y vs con comillas, q pasa ahi? o cuando uso las comillas entonces?
Título: Re: bat ayuda plisseeee
Publicado por: Sanlegas en 26 Marzo 2011, 20:23 PM
Cita de: XXX-ZERO-XXX en 26 Marzo 2011, 20:09 PM
y luego en lo de la ruta del archivo q yo lo puse sin comillas y vs con comillas, q pasa ahi? o cuando uso las comillas entonces?

cuando es una ruta larga...(de preferencia hay que usarlas siempre cuando se traten de rutas)
Título: Re: bat ayuda plisseeee
Publicado por: SuperDraco en 26 Marzo 2011, 20:25 PM
exacto la ruta estaba bien sin comillas en este caso, pero lo puse por la costumbre, siempre es mejor usarlas.