ayuda en la sintaxis Programas en Batch/bat

Iniciado por XXXNEUROXXX, 9 Julio 2013, 22:36 PM

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

XXXNEUROXXX

Buenas a todos apenas me inscribí en esto por necesidad de aprender mas mucho gusto a todos xD jajaa pues bien tengo unos cuantos problemas con 5 ejercicios que nos dejaron los tengo pero no cumplen completamente lo que se me pidió si alguien puede decirme como para aprender

1) realize el juego adivina mi numero por el usuario y muestra en numero de intentos ( mi problema aqui es que no puedo hacer en contador de numero de intentos me da 0 o ni se inicia  :-X

-------------------------------------------------
@echo off
color 02
echo ----------------------------------------
echo  JUGO DE ADIVINA EL NUMERO
echo.
echo JUGADOR VS JUGADOR
echo ---------------------------------------- 
echo Ingrese El numero
set /p respuesta=
cls.
set /a guessnum=0
set menu=menu
echo ----------------------------------------
echo.
:top
echo.
set /p numero=Numero:
echo.
if %numero% GTR %respuesta% ECHO Mas bajo!
if %numero% LSS %respuesta% ECHO Mas alto!
if %numero%==%respuesta% GOTO ganador
goto top
:ganador
echo haha Felicidades ganaste
echo numero de intentos
echo.
pause > nul

pause > nul
exit


________________________________ 

2)  Renombrar.bat-Hacer un programa que renombre archivos dados estos como argumentos ( aun no lo tengo no se me ocurre como) tengo algo asi nada mas

___________________________________
[size=100]@echo off
echo ------------------------------------------------
echo modificar archivos
echo ---------------------------------------------
echo .
echo .
echo Presiona Ctrl+C para abortar
pause
set /a b=
set/a d=
rename *b *d
exit[/SIZE]


3) Archivos.bat-Verifiquen la existencia de los argumentos y de los archivos, hacer un programa que copie, borre o renombre archivos de acuerdo con el usuario.

este aun no lo tengo supongo que son llamando los menus aun no lo intento


4)  Atributos.bat-Hacer un programa que cambie atributos de uno o varios archivos utilizando argumentos de entrada, de forma que la llamada sea
atributos [ruta] archivo quitar |poner sololectura| oculto atributos juevo.java quitar oculto


aun no lo tengo pero consejos de como puedo hacerlo ?


5)Apagar.bat-Hacer un programa que apague la computadora en el tiempo indicado por el usuario en minutos.

aqui lo unico que no me funciona es cuando declara el usuario el tiempo no se por que
------------------------------------------------------------
@echo off
color 2
echo.
echo.
echo.
echo.
echo.
echo.
echo ---------------
echo  APAGAR LA PC
echo ---------------
echo.
echo.
echo.
echo 1.Apagar en 20 segundos
echo 2.Apagar en 40 segundos
echo 3.Apagar en 1 minuto
echo 4.Apagar en 2 minutos
echo 5.Apagar en 5 minutos
echo 6.Apagar en 10 minutos
echo 7.Apagar en 15 minutos
echo 8.Apagar en 30 minutos
echo 9.Apagar en 45 minutos
echo 10.Apagar en 1 hora
echo 11.Apagar en 2 horas
echo 12.Apagar en 3 horas
echo 13.apagar en 4 horas
echo 14.Apagar en 5 horas
echo 15.Apagar en 8 horas
echo 16.Supender apagado
echo 17.Solicitud de tiempo 
echo 18.SALIR
echo.
echo.
echo Digite su opcion:
set /p opc=
if %opc%==1 goto 20
if %opc%==2 goto 40
if %opc%==3 goto 01
if %opc%==4 goto 02
if %opc%==5 goto 05
if %opc%==6 goto 10
if %opc%==7 goto 15
if %opc%==8 goto 30
if %opc%==9 goto 45
if %opc%==10 goto 1
if %opc%==11 goto 2
if %opc%==12 goto 3
if %opc%==13 goto 4
if %opc%==14 goto 5
if %opc%==15 goto 8
if %opc%==16 goto 9
if %opc%==17 goto num 
if %opc%==18 goto 99

:20
cls
shutdown -s -t 20 -c "Apagando el sistema 20 segundos"
exit

:40
cls
shutdown -s -t 40 -c "Apagando el sistema 40 segundos"
exit

:01
cls
shutdown -s -t 60 -c "Apagando el sistema 1 minuto"
exit

:02
cls
shutdown -s -t 120 -c "Apagando el sistema 2 minutos"
exit

:05
cls
shutdown -s -t 300 -c "Apagando el sistema 5 minutos"
exit

:10
cls
shutdown -s -t 600 -c "Apagando el sistema 10 minutos"
exit

:15
cls
shutdown -s -t 900 -c "Apagando el sistema 15 minutos"
exit

:30
cls
shutdown -s -t 1800 -c "Apagando el sistema 30 minutos"
exit

:45
cls
shutdown -s -t 2700 -c "Apagando el sistema 45 minutos"
exit

:1
cls
shutdown -s -t 3600 -c "Apagando el sistema 1 hora"
exit

:2
cls
shutdown -s -t 7200 -c "Apagando el sistema 2 horas"
exit

:3
cls
shutdown -s -t 10800 -c "Apagando el sistema 3 horas"
exit

:4
cls
shutdown -s -t 14400 -c "Apagando el sistema 4 horas"
exit

:5
cls
shutdown -s -t 18000 -c "Apagando el sistema 5 horas"
exit

:8
cls
shutdown -s -t 28800 -c "Apagando el sistema 8 horas"
exit

:num
cls
echo escriba el tiempo en minutos
set /p p=
shutdown -s -t p -c "apagado en %p% tiempo
exit 

cls
shutdown -a
exit



:99
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo
echo.
echo 
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause
exit
--------------------------------------




disculpen de ante mano pero si ando muy oxidado en batch desde hace mucho muchas gracias

Eleкtro

#1
Hola.

Ya que has intentado poner un script en tamaño de letra 100, también podrías haberte molestado en usar el tag para insertar códigos.

Cierro el tema, porfavor lee mi firma y las normas para cuando postees un tema sobre programación

EDITO: Si estás dispuesto a hacer las correciones necesarias en tu mensaje sólo dímelo y reabro el post.

Un saludo.






1)

Código (dos) [Seleccionar]
(ECHO Mas bajo! & Set /A "intentos+=1")
(ECHO Mas alto! & Set /A "intentos+=1")

echo numero de intentos: %xxxxxxxx%







2)


(1) - > 6.1 Variables especiales (o Variables de parámetro) (o Variables de argumentos)

CitarEstas son todas las variables especiales:

%0  %1  %2  %3  %4  %5  %6  %7  %8  %9   %*

En ellas se guarda el orden de los argumentos que le pasemos a nuestro script.


(2) -> 6.2 Set /A

CitarCon el parámetro /A del comando SET podemos realizar operaciones matemáticas, y asignar valores numéricos a una variable.

...pero no un string.


(3) -> 4. OPERADORES

Citar*   - Wildcard (o Comodín)
http://en.wikipedia.org/wiki/Wildcard_character

El wildcard se usa como patrón de "búsqueda" de archivos, no necesitas usar un comodín para renombrar un sólo archivo.






3)


(1) Leer la respuesta del problema 2).


(2) -> http://ss64.com/nt/if.html

Código (dos) [Seleccionar]
If exists ARGUMENTO (Del ARGUMENTO) ELSE (OTRA COSA)







4)


(1) Leer la respuesta del problema 2).


(2) -> http://ss64.com/nt/attrib.html

Código (dos) [Seleccionar]
Attrib +X +X +X ARGUMENTO
Attrib -X -X -X ARGUMENTO







5)


Muy mal de principio a fín, está mal planteado, demasiado extenso. No es necesario saber de programación, sólo hay que usar un poco de lógica.

Pregúntate: ¿Cuantos segundos tiene un minuto?, y luego lo aplicamos para simplificar el código:

Código (dos) [Seleccionar]
@Echo OFF

Set /P "m=Escriba los minutos >>"
Set /A "s=m*60"

Echo "Shutdown %s% ..."

Pause&Exit