batch pomoc z logowaniem

0

Witam mam problem z logowaniem, jestem początkujący w batche i chciałbym zrobić coś na zasadzie rejestracji do pliku następnie odczytania z pliku loginu/hasła i po wpisaniu loginu/hasła dokonania sprawdzenia jeżeli hasło się zgadza pójść do następnego (goto) a jeżeli hasło się nie zgadza wrócić do startu
napisałem taki kodzik
Kod:

@echo off
color 0f
title Matthew v1 is working
:start
echo -------------------------------------------------
echo Program Matthewa
echo -------------------------------------------------
echo 1. rejestracja
echo 2. logowanie
echo 3. pomoc
echo 4. o autorze
set /p x="twoj wybor: "
if .%x%.==.1. goto rejestracja
if .%x%.==.2. goto login
if .%x%.==.3. goto pomoc
if .%x%.==.4. goto about


:rejestracja
cls
set/p "uname=wpisz login : "
set/p "upass=wpisz haslo : "
cls
goto rejestracja2


:rejestracja2
echo %uname%>>D:\uname.txt
echo %upass%>>D:\upass.txt
attrib D:\uname.txt +H
attrib D:\upass.txt +H
cls
goto login

:login
set/p "login=wpisz login : "
if %login%==D:\uname.txt goto haslo
if not %login%==D:\uname.txt goto start
pause
:haslo
if %haslo%==<D:\upass.txt goto nowy
if exist %haslo%==<D:\upass.txt goto start

:nowy

pause > nul

o ile rejestracja działa prawidłowo o tyle logowanie już nie mógłby ktoś napisać to w poprawnej formie? z góry dziękuję.

1
set /p "login=wpisz login : "
for /f %%i IN (D:\uname.txt) DO set poprawny_login=%%i
if "%login%"=="%poprawny_login%" goto haslo
echo Bledny login
goto start
1

ale to tylko zadziała dla ostatniego loginu / hasła w pliku

jeżeli chcesz powiązać loginy z hasłem to w ten sposób będzie trudniej - będziesz musiał liczyć w której linii jest dany login a potem znaleźć konkretną linię w pliku z hasłami i porównać

lepiej będzie zapisywać loginy i hasła w jednym pliku oddzielone na przykład średnikami - funkcja "FOR" ma parametry które sobie łatwo poradzą z danymi w takim formacie

0

bardzo dziękuję za pomoc na razie robię coś prostego z czasem to jakoś rozbuduję gdyż tak jak napisałem dopiero zaczynam zabawę z batchami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1