Associer une variable a un mot dans un fichier ou repertoire
V4L36
-
V4L36 -
V4L36 -
j'ais essayer plusieurs commande que j'ais trouver sur votre forum mais pour moi aucune ne fonctionnent . . .
soit il m’affiche rien du tout
soit il m'affiche un message d'erreur comme quoi il ne peut accéder a mon fichier/répertoire
je voudrais par exemple associer aux variables suivante :
%pseudo% le 2 ieme mot de la 1ière ligne de mon fichier test.txt
%clickerpoints% le 2 ième mot de la 3ième ligne de mon fichier test.txt (les chifres)
%mdp% le 4 ième mot de la 3ière ligne de mon fichier test.txt (que se sois des chiffres ou des lettres
fichier test.txt ici :
Pseudonyme : V4L36
Clicker :
[tabulation] points : 458
[tabulation] nombre de connexions : 3
Mot de passe : azerty
fréquence de connexion : 5
j'attend les explication pour comprendre ce langage et non les réponse direct comme certain forum le font . . .
merci de votre aide =D
soit il m’affiche rien du tout
soit il m'affiche un message d'erreur comme quoi il ne peut accéder a mon fichier/répertoire
je voudrais par exemple associer aux variables suivante :
%pseudo% le 2 ieme mot de la 1ière ligne de mon fichier test.txt
%clickerpoints% le 2 ième mot de la 3ième ligne de mon fichier test.txt (les chifres)
%mdp% le 4 ième mot de la 3ière ligne de mon fichier test.txt (que se sois des chiffres ou des lettres
fichier test.txt ici :
Pseudonyme : V4L36
Clicker :
[tabulation] points : 458
[tabulation] nombre de connexions : 3
Mot de passe : azerty
fréquence de connexion : 5
j'attend les explication pour comprendre ce langage et non les réponse direct comme certain forum le font . . .
merci de votre aide =D
1 réponse
-
Bonjour,
Je commence par les explications :
- pour parcourir les lignes de ton fichier, tu as besoin de la boucle FOR /F
- pour savoir à quel ligne tu te trouves, tu as besoin d'une variable qui s'incrémente de 1 à chaque tour de boucle
- pour récupérer un mot dans une ligne, tu as besoin d'une boucle FOR /F
Si tu as besoin d'aide pour écrire le script fais-moi signe.
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”-
-
-
-
c'est bon jaui trouver !!! merci beacoup mais j'ai un autre probleme maintenant
je ne trouve pas l'erreur dans ce code :set /p pseudo=
if exist comptes\%pseudo%\%pseudo%.txt (
for /f "usebackq tokens=1" %%a in ("comptes\%pseudo%\mdp.txt") do (
%c% 0e 1 " "
%c% 0f 0 "Met ton "
%c% 0b 1 "Mot de passe "
%c% 0b 0 "Mot de passe"
%c% 0f 0 " > "
set /p mdp=
if %mdp% EQU %%a (
goto :suite
) else (
cls
%c% 0c 1 "ERREUR #3 : Movais mot de passe"
%c% 07 1 "appuie sur une touche pour ressayer"
pause >nul
goto :logreg
)
)
) else (
@echo %pseudo% > comptes\%pseudo%\%pseudo%.txt
%c% 0e 1 " "
%c% 0f 0 "Met ton "
%c% 0b 1 "Mot de passe "
%c% 0b 0 "Mot de passe"
%c% 0f 0 " > "
set /p mdp=
%c% 0f 0 "Remet ton "
%c% 0b 1 "Mot de passe "
%c% 0b 0 "Mot de passe"
%c% 0f 0 " > "
set /p mdp2=
if %mdp% EQU %mdp2% (
@echo %mdp% > comptes\%pseudo%\mdp.txt
%c% 0f 0 "Compte "
%C% 0e 0 "%pseudo% "
%c% 0f 1 "a ete cree avec succes !"
%c% 07 1 "appuie sur une touche pour continuer. . ."
) else (
%c% 0c 1 "Erreur #4 : Les pseuso entre ne correspondent pas"
%c% 07 1 "appuie sur une touche pour retourner au menu de login/register"
pause >nul
goto :logreg
)
%c% 0f 0 "Compte "
%C% 0e 0 "%pseudo% "
%c% 0f 1 "a ete cree avec succes !"
)
(le %c% 0a 0 "text" est juste une sorte de echo mai sen couleur) l'erreur fait comme si c’était une "(" ou ")" qui manque mais je ne trouve pas -
Difficile de t'aider, il manque la moitié du code.
Un conseil : on évite de mettre un GOTO dans une boucle FOR.
Voilà quelques modifications :
Setlocal enableextensions enabledelayedexpansion
:debut
set /p "pseudo="
if exist "comptes\%pseudo%\%pseudo%.txt" (call :verification)
if not exist "comptes\%pseudo%\%pseudo%.txt" (call :creation)
goto :debut
exit
:verification
for /f "usebackq tokens=1" %%a in ("comptes\%pseudo%\mdp.txt") do (set password=%%a)
%c% 0e 1 " "
call :saisie "Met"
set /p "mdp="
if /i "%mdp%" =="!password!" (goto :suite) else (
cls
%c% 0c 1 "ERREUR #3 : Mauvais mot de passe"
%c% 07 1 "appuie sur une touche pour re-essayer"
pause >nul
goto :verification
)
goto :eof
:saisie
%c% 0f 0 "%~1 ton "
%c% 0b 1 "Mot de passe "
%c% 0b 0 "Mot de passe"
%c% 0f 0 " > "
goto :eof
:creation
@echo %pseudo% > comptes\%pseudo%\%pseudo%.txt
%c% 0e 1 " "
call :saisie "Met"
set /p "mdp="
call :saisie "Remet"
set /p "mdp2="
if /i "%mdp%"=="%mdp2%" (
@echo %mdp% > comptes\%pseudo%\mdp.txt
%c% 0f 0 "Compte "
%C% 0e 0 "%pseudo% "
%c% 0f 1 "a ete cree avec succes !"
%c% 07 1 "appuie sur une touche pour continuer. . ."
) else (
%c% 0c 1 "Erreur #4 : Les pseudos saisis ne correspondent pas"
%c% 07 1 "appuie sur une touche pour retourner au menu de login/register"
pause >nul
goto :eof
)
%c% 0f 0 "Compte "
%C% 0e 0 "%pseudo% "
%c% 0f 1 "a ete cree avec succes !"
goto :eof
rem
-