Estoy haciendo un archivo por lotes para Windows. Acabo de empezar a aprender scripting por lotes y tengo algunos problemas aquí.
@echo off
set langList=("eng","fre","chi")
:Get_ISOlanguage
set "ISOlanguage="
set /p ISOlanguage=Enter subtitle language in ISO 639-2 standard abbreviation:
set ISOlanguage="%ISOlanguage%"
for %%x in %langList% do (
if ""%ISOlanguage%"" == ""%%x"" (echo LANGUAGE SUPPORTED
goto :CONTINUE))
echo LANGUAGE NOT SUPPORTED
goto :GET_ISOlanguage
:CONTINUE
echo ayy lmao
pause
En lugar de
for %%x in %langList% do (if ""%ISOlanguage%"" == ""%%x"" (echo LANGUAGE SUPPORTED&goto :CONTINUE))
Si el usuario escribe, por ejemplo, eng
¿cómo puedo obtener, por ejemplo, Your chosen language is English
y luego continuar el lote? Si el usuario ingresa algo que no está en la langList, quiero mostrar un mensaje de error que dice "entrada incorrecta, por favor intente nuevamente".
windows
batch-file
cmd.exe
Arete
fuente
fuente
for
para verificar si hay una entrada válida). Y tenga una lista separada (nameList
) con los nombres de los idiomas para generar el nombre real.Respuestas:
Pensé que leí en alguna parte que desea mantener la lista dentro de su archivo por lotes en lugar de un archivo de datos. La solución más obvia para esto sería definir muchas variables, pero prefiero otro método:
fuente