Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Проблема Бат файл

Lapotkin Inkodinok Ученик (146), открыт 15 часов назад
Мне для организации моей нужно сделать так, чтобы человек вводил код пример: AAA00000 и ему выдавало определенное значение. Я понимаю что делать через переменную, но не понимаю с if.
4 ответа
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (269279) 15 часов назад
Проблем нет, если сформулировать задачу без лишнего словарного мусора типа: 'для организации моей нужно сделать', 'Я понимаю что делать через переменную', 'чтобы человек вводил код' ...
Ден Кибкало Ученик (152) 15 часов назад
 @echo off 
set /p "code=Enter code: "
if %code%==AAA00000 echo anythink...
Ден КибкалоУченик (152) 15 часов назад
@echo off
set /p "code=Enter code: "
if %code%==AAA00000 echo anythink...
Алекс Куха Высший разум (468811) 12 часов назад
Правильно заданный вопрос - половина ответа
Devil Black Pro Оракул (59246) 10 часов назад
Мне для организации моей
Какой бюджет под эту задачу? Лол.

Т.е. я правильно понял, что у тебя есть некоторое количество пар, код+значение, при вводе первого, нужно отдавать второе? Я конечно не знаю чем там твоя организация занимается, но рекомендую использовать другие средства, а не bat файлы.

Предлагаю пары код+значение вытащить в отдельный файл и организовать таким способом:
 AAA00000 44567778 
AAA00001 44567779
AAA00002 44567780
AAA00003 44567781

Реализация через findstr:
@echo off

::файл с кодами
set file=hackcodes.txt

::запрашиваем код
:get_code
set /P code="CODE: "

::проверяем наличие ввода
call :check_var code

::проходим по файлу
for /f "tokens=1,2" %%a in ('findstr /x /r /c:"\<%code% ".* %file%') do set result=%%b

::проверяем наличие кода иначе назад
call :check_var result

::выводим результат
echo %result%

echo.
pause
exit

:check_var
if not defined %1 (
echo INVALID CODE
goto get_code
)
exit /b
Извратский вариант:

@echo off

::setlocal enabledelayedexpansion чтобы использовать переменные в переменных
setlocal enabledelayedexpansion

::файл с кодами
set file=hackcodes.txt

::проходим по файлу
for /f "tokens=1,2" %%a in (%file%) do set "%%a=%%b"

::запрашиваем код
:get_code
set /P code="CODE: "

::проверяем наличие кода и ввода иначе назад
call :check_var code
call :check_var %code%

::выводим результат
echo !%code%!
echo.
pause
exit

:check_var
if not defined %1 (
echo INVALID CODE
goto get_code
)
exit /b

Мейл не хочет код для батника публиковать в секции кода, поэтому вот - https://pastebin.com/rMkX0mGq и https://pastebin.com/KxgLFUAZ
Похожие вопросы