Duda Batch [Solucionado]

Iniciado por h0oke, 14 Octubre 2009, 02:43 AM

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

h0oke

¿Por qué razón cuando ingreso un numero del 0 al 9 el código no abre la carpeta correspondiente?

Código (dos) [Seleccionar]

@echo off

echo "************************"
echo "* 1-Facu              *"
echo "* 2-Algoritmia         *"
echo "* 3-Assembly           *"
echo "* 4-C++                *"
echo "* 5-Python             *"
echo "************************"

:bucle
set /p var = Introduzca opcion:

if %var% == 1 goto:facu
if %var% == 2 goto:algo
if %var% == 3 goto:asm
if %var% == 4 goto:c
if %var% == 5 goto:pyth

:facu
start d:\BuckUp\EBOOKS\facu
:algo
start d:\BuckUp\EBOOKS\Algoritmia
:asm
start d:\BuckUp\EBOOKS\Assembly
:c
start d:\BuckUp\EBOOKS\C++
:pyth
start d:\BuckUp\EBOOKS\Python

leogtz


:facu
explorer d:\BuckUp\EBOOKS\facu
:algo
explorer d:\BuckUp\EBOOKS\Algoritmia
:asm
explorer d:\BuckUp\EBOOKS\Assembly
:c
explorer d:\BuckUp\EBOOKS\C++
:pyth
explorer d:\BuckUp\EBOOKS\Python
Código (perl) [Seleccionar]

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

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

h0oke

 :-\ Tampoco funciona, no abre ninguna carpeta. Pareciera que no puede leer las variables.

FranciskoAsdf

#3
copia y pega .... lo probé y funciona ^^
Código (dos) [Seleccionar]

@echo off
:Inicio
Cls
echo "************************"
echo "* 1-Facu              *"
echo "* 2-Algoritmia         *"
echo "* 3-Assembly           *"
echo "* 4-C++                *"
echo "* 5-Python             *"
echo "************************"

:bucle
set /p "var = Introduzca opcion: "

if ["%var%"]==["1"] (goto :facu)
if ["%var%"]==["2"] (goto :algo)
if ["%var%"]==["3"] (goto :asm)
if ["%var%"]==["4"] (goto :c)
if ["%var%"]==["5"] (goto :pyth)
if %var% GEQ 6 (Echo.&Echo Opcion inexistente&Echo.&Pause >Nul 2>&1&Goto :Inicio)

:facu
start d:\BuckUp\EBOOKS\facu\
Goto :Inicio
:algo
start d:\BuckUp\EBOOKS\Algoritmia\
Goto :Inicio
:asm
start d:\BuckUp\EBOOKS\Assembly\
Goto :Inicio
:c
start d:\BuckUp\EBOOKS\C++\
Goto :Inicio
:pyth
start d:\BuckUp\EBOOKS\Python\
Goto :Inicio


yo creo que te pasaba porque no ponbias el backslash al final de la ruta y el programa trataba de iniciar un archivo

C:\a = es como si le dijieras que abra el archivo "a" que esta en C:\
C:\a\ = ahí le dices que abra el directorio "C:\a\" al colocarle el simbolo "\"


Saludos !!
Asdf debería ser algún tipo de función.

leogtz

#4
@echo off
:Inicio
Cls
echo "************************"
echo "* 1-Facu              *"
echo "* 2-Algoritmia         *"
echo "* 3-Assembly           *"
echo "* 4-C++                *"
echo "* 5-Python             *"
echo "************************"

:bucle
set /p "var=Introduzca opcion: "
if not defined var (goto:bucle)
if ["%var%"]==["1"] (goto :facu)
if ["%var%"]==["2"] (goto :algo)
if ["%var%"]==["3"] (goto :asm)
if ["%var%"]==["4"] (goto :c)
if ["%var%"]==["5"] (goto :pyth)
if %var% GEQ 6 (Echo.&Echo Opcion inexistente&Echo.&Pause >Nul 2>&1&Goto :Inicio)

:facu
explorer d:\BuckUp\EBOOKS\facu\
Goto :Inicio
:algo
explorer d:\BuckUp\EBOOKS\Algoritmia\
Goto :Inicio
:asm
explorer d:\BuckUp\EBOOKS\Assembly\
Goto :Inicio
:c
explorer d:\BuckUp\EBOOKS\C++\
Goto :Inicio
:pyth
explorer d:\BuckUp\EBOOKS\Python\
Goto :Inicio
Código (perl) [Seleccionar]

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

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

M a t t

#5
-

CaronteGold

Cita de: dynyck en 14 Octubre 2009, 02:43 AM
¿Por qué razón cuando ingreso un numero del 0 al 9 el código no abre la carpeta correspondiente?

Código (dos) [Seleccionar]

@echo off

echo "************************"
echo "* 1-Facu              *"
echo "* 2-Algoritmia         *"
echo "* 3-Assembly           *"
echo "* 4-C++                *"
echo "* 5-Python             *"
echo "************************"

:bucle
set /p var = Introduzca opcion:

if %var% == 1 goto:facu
if %var% == 2 goto:algo
if %var% == 3 goto:asm
if %var% == 4 goto:c
if %var% == 5 goto:pyth

:facu
start d:\BuckUp\EBOOKS\facu
:algo
start d:\BuckUp\EBOOKS\Algoritmia
:asm
start d:\BuckUp\EBOOKS\Assembly
:c
start d:\BuckUp\EBOOKS\C++
:pyth
start d:\BuckUp\EBOOKS\Python



Tu pregunta era, por qué no funcionaba, pues el error está aquí:

set /p var = Introduzca opcion:



Sobra el espacio, quedaría :

set /p var=Introduzca opcion:


  Pruebalo, y verás como funciona. Saludos.


M a t t

Código (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion
cd /d "D:\BuckUp\EBOOKS"
:main
cls
echo:1. Facu
echo:2. Algoritmia
echo:3. Assembly
echo:4. C++
echo:5. Python
echo:
set "number="
set /p "number=Number: "
if not defined number goto :main
if "!number!" equ "1" explorer "Facu"
if "!number!" equ "2" explorer "Algoritmia"
if "!number!" equ "3" explorer "Assembly"
if "!number!" equ "4" explorer "C++"
if "!number!" equ "5" explorer "Python"
goto :main

h0oke

Gracias a todos por su ayuda... Funciona correctamente.