¿Por qué razón cuando ingreso un numero del 0 al 9 el código no abre la carpeta correspondiente?
@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
: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
:-\ Tampoco funciona, no abre ninguna carpeta. Pareciera que no puede leer las variables.
copia y pega .... lo probé y funciona ^^
@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 !!
@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
-
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?
@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.
@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
Gracias a todos por su ayuda... Funciona correctamente.