Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
[R] Pbm de definition de variable avec une condition
Auteur Message
Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
Bonjour a tous, j'ai un problème quand je veux encoder une variable avec une condition devant, la variable ne se défini pas Confused
voici le code :

Code:

if "%numdoc1%"==%cd% set numdoc=dossier1
echo : %numdoc%

La variable %numdoc1% est pourtant définie et correspond bien a la variable %cd% mais la variable %numdoc% ne l'est pas
J'ai déjà été voir des topics du sur se sujet mais je ne vois pas ma faute alors pouvez vous m'aider s'il vous plait Embarassed




Dernière édition par arnaud4651 le Mar 4 Juil 2017 - 18:51; édité 1 fois
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Re: Probleme de definition de variable avec une condition 
arnaud4651 a écrit:
Bonjour a tous, j'ai un problème quand je veux encoder une variable avec une condition devant, la variable ne se défini pas Confused
voici le code :

Code:

if "%numdoc1%"==%cd% set numdoc=dossier1
echo : %numdoc%

La variable %numdoc1% est pourtant définie et correspond bien a la variable %cd% mais la variable %numdoc% ne l'est pas
J'ai déjà été voir des topics du sur se sujet mais je ne vois pas ma faute alors pouvez vous m'aider s'il vous plait Embarassed



"%numdoc1%" sera toujours différent de %cd%


Voici ce que tu teste par exemple :

Code:
if "5"==5 set numdoc=dossier1


"5" != 5

MAIS

"5" == "5"

Donc ceci fonctionne :

Code:
if "5"=="5" set numdoc=dossier1




Et si on remplace par les variables :

Code:
if "%numdoc1%"=="%cd%" set numdoc=dossier1




En gros, tu as oublier d'entourer la variable %cd% par des guillemets, c'est comme si tu faisais ça en math :


if 5+1==5

Donc pour corriger :

if 5+1==5+1



Il faut rajouter le même élément des 2 côtés de l'équation pour quelle reste vrai et bah sans grande surprise c'est pareil en programmation Mr. Green
Voilà j'espère t'avoir aider Okay




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
Bien essayer mais je l'avais déjà fait avant mais même avec %cd% entouré de guillemet comme ça "%cd%" j'ai la même réponse du programme
en gros il fait comme ci la variable n'étais pas définie ! et je ne sait toujours pas pourquoi Crying or Very sad ...



Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
arnaud4651 a écrit:
Bien essayer mais je l'avais déjà fait avant mais même avec %cd% entouré de guillemet comme ça "%cd%" j'ai la même réponse du programme
en gros il fait comme ci la variable n'étais pas définie ! et je ne sait toujours pas pourquoi Crying or Very sad ...


Ba c'est que le problème vient d'ailleurs..


Code:
@echo off

set numdoc1=%cd%

if "%numdoc1%"=="%cd%" set numdoc=dossier1
echo : %numdoc%
 


pause>nul


Poste tout ton code dans ce cas




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
ok alors voila mon petit code de +/- 350 :
Code:

@ECHO OFF
@"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/cmdow.exe" @ /top /mov 580 280
mode con cols=53 lines=27
color 0a
title Système de sécurité de dossier de Arnaud !

if not exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" goto DEBUT
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt) do set numdoc1=%%a
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt) do set numdoc2=%%b
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt) do set numdoc3=%%c
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier4.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier4.txt) do set numdoc4=%%d
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier5.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier5.txt) do set numdoc5=%%e



if "%numdoc1%"=="%cd%" set numdoc=dossier1
if "%numdoc2%"=="%cd%" set numdoc=dossier2
if "%numdoc3%"=="%cd%" set numdoc=dossier3
if "%numdoc4%"=="%cd%" set numdoc=dossier4
if "%numdoc5%"=="%cd%" set numdoc=dossier5
echo : %numdoc1%
echo.
echo : %cd%
echo.
echo : %numdoc%
pause



for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/nom%numdoc%.txt) do set dossier=%%a
if not EXIST %dossier% goto FERMER
set dossier_actuel=%dossier%
goto MENU

:FERMER
set dossier_actuel=GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
goto MENU

:MENU
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt) do set menu_clicable=%%a
if not %menu_clicable%==activer goto MENU_NUMERIQUE

:MENU_CLICABLE
echo  ╔═════════════════════════════════════════════════╗
echo  ║             Que voulez vous-faire ?             ║
echo  ╠════════════════════════╦════════════════════════╣
echo  ║ -1 acceder au log      ║ -2 fermer le programme ║
echo  ║                        ║                        ║
echo  ╠════════════════════════╩════════════════════════╣
echo  ║                                                 ║
echo  ║ -3 verrouiller/déverouiller le dossier sécurisé ║
echo  ║                                                 ║
echo  ╠════════════════════════╦════════════════════════╣
echo  ║ -4 changer le M.D.P    ║ -5 changer le nom du   ║
echo  ║                        ║    dossier             ║
echo  ╠════════════════════════╬════════════════════════╣
echo  ║ -6 remmettre à zero    ║ -7 activer/désactiver  ║
echo  ║    le programme        ║    le menu clicable    ║
echo  ╠════════════════════════╩════════════════════════╣
echo  ║                                                 ║
echo  ║ cliquer sur l'intitulé désiré avec votre souris ║
echo  ║              Menu clicable active !             ║
echo  ╚═════════════════════════════════════════════════╝
echo.
echo.
echo.
echo  ╔═════════════════════════════════════════════════╗
echo  ║          nous sommes le %date%         ║
echo  ╚═════════════════════════════════════════════════╝
:BOUCLE
for /f "tokens=1,2,3 delims=:" %%a in ('%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/batbox.exe /m') do (
set x=%%a
set y=%%b
set c=%%c
)
if %x% geq 2 if %x% lss 26 if %y% gtr 2 if %y% lss 5 goto LOG
if %x% geq 27 if %x% leq 51 if %y% gtr 2 if %y% lss 5 goto QUITTER
if %x% geq 2 if %x% leq 51 if %y% geq 6 if %y% leq 8 goto DOSSIER
if %x% gtr 2 if %x% lss 26 if %y% geq 9 if %y% leq 11 goto MDP
if %x% gtr 27 if %x% leq 51 if %y% geq 9 if %y% leq 11 goto NOMDOSSIER
if %x% geq 2 if %x% lss 26 if %y% gtr 12 if %y% leq 15 goto RESET
if %x% geq 27 if %x% leq 51 if %y% gtr 12 if %y% leq 15 goto MENU_CLICABLE_DESACTIVATION
goto BOUCLE

:MENU_NUMERIQUE
echo  ╔═════════════════════════════════════════════════╗
echo  ║             Que voulez vous-faire ?             ║
echo  ╠════════════════════════╦════════════════════════╣
echo  ║ -1 acceder au log      ║ -2 fermer le programme ║
echo  ║                        ║                        ║
echo  ╠════════════════════════╩════════════════════════╣
echo  ║                                                 ║
echo  ║ -3 verrouiller/déverouiller le dossier securise ║
echo  ║                                                 ║
echo  ╠════════════════════════╦════════════════════════╣
echo  ║ -4 changer le M.D.P    ║ -5 changer le nom du   ║
echo  ║                        ║    dossier             ║
echo  ╠════════════════════════╬════════════════════════╣
echo  ║ -6 remmettre à zero    ║ -7 activer/désactiver  ║
echo  ║    le programme        ║    le menu clicable    ║
echo  ╠════════════════════════╩════════════════════════╣
echo  ║ Taper le numero correspondant à l'intitulé de   ║
echo  ║  votre choix puis taper sur la touche entrer    ║
echo  ║            Menu clicable désactivé !            ║
echo  ╚═════════════════════════════════════════════════╝
echo.
echo.
echo.
echo  ╔═════════════════════════════════════════════════╗
echo  ║          nous sommes le %date%         ║
echo  ╚═════════════════════════════════════════════════╝
set/p "menu=>"
if %menu%==1 goto LOG
if %menu%==2 goto QUITTER
if %menu%==3 goto DOSSIER
if %menu%==4 goto MDP
if %menu%==5 goto NOMDOSSIER
if %menu%==6 goto RESET
if %menu%==7 goto MENU_CLICABLE_ACTIVATION
if %menu%==4651 goto MENU_CACHE
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ ERREUR :menu innexistant !!!                    ║
echo  ║ taper le numero correspondant à l'action voulue ║
echo  ║ suivit de la touche "enter"                     ║
echo  ╚═════════════════════════════════════════════════╝
echo.
goto MENU

:DEBUT
if not exist "Dossier_Securise" md "Dossier_Securise"
if not exist "Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}" md "Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
attrib +h +s "Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
echo>"Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt"
echo>"Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" La derniere personne ayant acceder a votre dossier est VOUS pour la derniere fois le %date% a %time%
echo>"Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt" activer
echo  ╔═════════════════════════════════════════════════╗
echo  ║               le dossier à été créé             ║
echo  ║ Définissez le nom de votre dossier sécurisé     ║
echo  ╚═════════════════════════════════════════════════╝
set /p dossier=  Entre le nom du dossier ici :
ren "Dossier_Securise" "%dossier%"
if not exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc" md "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc"
if not exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier"  md "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier"
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier4.txt" echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier5.txt" %cd% && (set numdoc=dossier5) && goto DEBUT_SUITE
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt" echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier4.txt" %cd% && (set numdoc=dossier4) && goto DEBUT_SUITE
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt" %cd% && (set numdoc=dossier3) && goto DEBUT_SUITE
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" %cd% && (set numdoc=dossier2) && goto DEBUT_SUITE
echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" %cd% && set numdoc=dossier1

:DEBUT_SUITE
echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/nom%numdoc%.txt" %dossier%
attrib +h +s "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier"
echo nom de dossier defini
pause
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Définissez le mot de passe que vous utiliserez  ║
echo  ║ pour acceder à votre dossier sécurisé et à vos  ║
echo  ║ log                                             ║
echo  ╚═════════════════════════════════════════════════╝
set /p mdp=Entre le mot de passe ici :
echo>"%dossier%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt" %mdp%
echo mot de passe defini
pause
goto QUITTER

:LOG
cls
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt) do set mdp=%%a
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt) do set log=%%a
echo  ╔═════════════════════════════════════════════════╗
echo  ║      Vous avez choisi d acceder a vos log       ║
echo  ╚═════════════════════════════════════════════════╝
set/p pass=Entrez le mot de passe ici :
if not %pass%== %mdp% goto LOG_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ voici le log :                                  ║
echo    %log%
pause
cls
goto MENU

:LOG_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
pause
goto QUITTER

:DOSSIER
if EXIST "%dossier%" goto VERROUILLER
cls
for /f "tokens=*" %%a in (GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt) do set mdp=%%a
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Vous avez choisi de déverrouiller le dossier    ║
echo  ╚═════════════════════════════════════════════════╝
set/p pass=Entre le mot de passe ici :
if not %pass%== %mdp% goto DOSSIER_FAUX
attrib -h -s "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
ren "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}" "%dossier%"
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║          Le dossier à été déverrouillé          ║
echo  ╚═════════════════════════════════════════════════╝
pause
goto QUITTER

:DOSSIER_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
echo>"GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" "Une tentative de connection a échouée le %date% à %time%"
pause
goto QUITTER

:VERROUILLER
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ vous avez choisi de verrouiller le dossier      ║
echo  ║                                                 ║
ren "%dossier%" "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
attrib +h +s "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
echo  ║          Le dossier à été verrouille            ║
echo  ╚═════════════════════════════════════════════════╝
pause
goto QUITTER

:MDP
cls
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt) do set mdp=%%a
echo  ╔═════════════════════════════════════════════════╗
echo  ║   vous avez choisi de changer de mot de passe   ║
echo  ╚═════════════════════════════════════════════════╝
set/p pass=Entrez l'ancien mot de passe ici :
if not %pass%== %mdp% goto MDP_FAUX
set /p mdp=Entrez le nouveau mot de passe ici :
echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt" %mdp%
echo Le mot de passe à été re-defini
pause
cls
goto Menu

:MDP_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" Une personne a essayer de changer le mot de passe votre dossier et c'est trompe de mot de passe le %date% a %time%
pause
goto QUITTER

:NOMDOSSIER
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Vous devez dabord taper votre mot de passe pour ║
echo  ║             effectuer cette action              ║
echo  ╚═════════════════════════════════════════════════╝
echo.
set/p pass=Entrez votre mot de passe ici :
if not %pass%== %mdp% goto NOMDOSSIER_FAUX
attrib -h -s "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
ren "?" "%dossier%"
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Vous avez choisi de modifier le nom de votre    ║
echo  ║            dossier sécurisé                     ║
echo  ╚═════════════════════════════════════════════════╝
set /p newdossier=Entrez le nouveau nom de votre dossier securise ici :
ren "%dossier%" "%newdossier%"
echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/%numdoc%.txt" %newdossier%
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║   le nom du dossier securise à été re-défini    ║
echo  ╚═════════════════════════════════════════════════╝
echo    ancien nom: %dossier%
echo    nouveau nom: %newdossier%
pause
cls
goto QUITTER

:NOMDOSSIER_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" Une personne a essayer de changer le nom de votre dossiert securise et c'est trompe de mot de passe le %date% a %time%
pause
goto QUITTER

:RESET
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt) do set mdp=%%a
cls
color 0c
echo  ╔═════════════════════════════════════════════════╗
echo  ║               /!\  ATTENTION /!\                ║
echo  ║ Remmettre à zero le programme signifie que vous ║
echo  ║    allez supprimer tous se qui concerne se      ║
echo  ║            programme exepte lui-meme !          ║
echo  ║   Vous ne pourrez pas revenir en arrière !!!    ║
echo  ║   Si vous êtes conscient et certain de vouloir  ║
echo  ║  faire cela veuillez appuyer sur une touche de  ║
echo  ║      votre clavier ou fermer le programme       ║
echo  ║                 IMEDIATEMENT !!!                ║
echo  ╚═════════════════════════════════════════════════╝
pause>nul
cls
color 0a
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Mais vous devez dabord tapez votre mot de passe ║
echo  ║    pour effectuer cette action irrevérsible     ║
echo  ╚═════════════════════════════════════════════════╝
echo.
set/p pass=Entrez votre mot de passe ici :
if not %pass%== %mdp% goto RESET_FAUX
cls
echo    mot de passe correct !
rd /s /q "%dossier_actuel%"
rd /s /q "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/%numdoc%.txt"
echo le programme a bien ete remis a zero.
pause>nul
goto QUITTER

:RESET_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" Une personne a essayer de remmettre a zero le programme et c'est trompe de mot de passe le %date% a %time%
pause
goto QUITTER

:MENU_CLICABLE_DESACTIVATION
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt) do set menu_clicable=%%a
if %menu_clicable% == activer echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt" desactiver
goto MENU_NUMERIQUE

:MENU_CLICABLE_ACTIVATION
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt) do set menu_clicable=%%a
if %menu_clicable% == desactiver echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt" activer
goto MENU_CLICABLE

:QUITTER




Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
Ok, je vois d'où vient le problème Okay



Voici le teste que j'ai fait :

    j'ai remplacé ça (à partir de la ligne 21) :

    Code:
    echo : %numdoc1%
    echo.
    echo : %cd%
    echo.
    echo : %numdoc%
    pause


    par ça :

    Code:
    echo : %numdoc1%AA
    echo.
    echo : %cd%AA
    echo.
    echo : %numdoc%
    pause



    Et j'obtiens ceci :

    Code:
    : D:\testnode\..MEMBREHELP AA

    : D:\testnode\..MEMBREHELPAA

    :
    Appuyez sur une touche pour continuer...



    Donc lors du teste, il se passe ceci :

    Code:
    if "D:\testnode\..MEMBREHELP "=="D:\testnode\..MEMBREHELP" set numdoc=dossier1




Pour régler le problème maintenant, il faut savoir d'où vient le problème Laughing Mr. Green
Et il est évident que le problème survient au moment où le programme écrit dans le fichier dossier1.txt

Je parle donc de ces lignes :


Code:
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier4.txt" echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier5.txt" %cd% && (set numdoc=dossier5) && goto DEBUT_SUITE
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt" echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier4.txt" %cd% && (set numdoc=dossier4) && goto DEBUT_SUITE
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt" %cd% && (set numdoc=dossier3) && goto DEBUT_SUITE
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" %cd% && (set numdoc=dossier2) && goto DEBUT_SUITE
echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" %cd% && set numdoc=dossier1


Et quand je regarde ça, je peux voir que c'est très mal optimisé.

Je l'ai donc remplacé par ça :

Code:
set tmpfolder=%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier

set num=1
for /l %%a in (1,1,5) do (
if exist "%tmpfolder%/dossier%%a.txt" set /a num=%%a+1
)

if %num% GTR 5 set num=5

(
echo;%cd%
)>"%tmpfolder%/dossier%num%.txt"

set numdoc=dossier%num%


p.s : je ne sais pas trop pourquoi tu limite à 5


Et ensuite, j'ai refais le test et j'obtiens ça :

Code:
: D:\testnode\..MEMBREHELPAA

: D:\testnode\..MEMBREHELPAA

: dossier1
Appuyez sur une touche pour continuer...




Il faut que tu optimises tout ton programme aussi Okay
Je n'ai fais que le bout là Mr. Green


Donc voici ce que ça donne :


Code:
@ECHO OFF
rem @"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/cmdow.exe" @ /top /mov 580 280
mode con cols=53 lines=27
color 0a
title Système de sécurité de dossier de Arnaud !
 
if not exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" goto DEBUT
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier1.txt) do set numdoc1=%%a
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier2.txt) do set numdoc2=%%b
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier3.txt) do set numdoc3=%%c
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier4.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier4.txt) do set numdoc4=%%d
if exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier5.txt" for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/dossier5.txt) do set numdoc5=%%e
 
 
 
if "%numdoc1%"=="%cd%" set numdoc=dossier1
if "%numdoc2%"=="%cd%" set numdoc=dossier2
if "%numdoc3%"=="%cd%" set numdoc=dossier3
if "%numdoc4%"=="%cd%" set numdoc=dossier4
if "%numdoc5%"=="%cd%" set numdoc=dossier5
echo : %numdoc1%AA
echo.
echo : %cd%AA
echo.
echo : %numdoc%
pause
 
 
 
for /f "tokens=*" %%a in (%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/nom%numdoc%.txt) do set dossier=%%a
if not EXIST %dossier% goto FERMER
set dossier_actuel=%dossier%
goto MENU
 
:FERMER
set dossier_actuel=GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
goto MENU
 
:MENU
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt) do set menu_clicable=%%a
if not %menu_clicable%==activer goto MENU_NUMERIQUE
 
:MENU_CLICABLE
echo  ╔═════════════════════════════════════════════════╗
echo  ║             Que voulez vous-faire ?             ║
echo  � ════════════════════════╦════════════════════════╣
echo  ║ -1 acceder au log      ║ -2 fermer le programme ║
echo  ║                        ║                        ║
echo  � ════════════════════════╩════════════════════════╣
echo  ║                                                 ║
echo  ║ -3 verrouiller/déverouiller le dossier sécurisé ║
echo  ║                                                 ║
echo  � ════════════════════════╦════════════════════════╣
echo  ║ -4 changer le M.D.P    ║ -5 changer le nom du   ║
echo  ║                        ║    dossier             ║
echo  � ════════════════════════╬════════════════════════╣
echo  ║ -6 remmettre �  zero    ║ -7 activer/désactiver  ║
echo  ║    le programme        ║    le menu clicable    ║
echo  � ════════════════════════╩════════════════════════╣
echo  ║                                                 ║
echo  ║ cliquer sur l'intitulé désiré avec votre souris ║
echo  ║              Menu clicable active !             ║
echo  ╚═════════════════════════════════════════════════╝
echo.
echo.
echo.
echo  ╔═════════════════════════════════════════════════╗
echo  ║          nous sommes le %date%         ║
echo  ╚═════════════════════════════════════════════════╝
:BOUCLE
for /f "tokens=1,2,3 delims=:" %%a in ('%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/batbox.exe /m') do (
set x=%%a
set y=%%b
set c=%%c
)
if %x% geq 2 if %x% lss 26 if %y% gtr 2 if %y% lss 5 goto LOG
if %x% geq 27 if %x% leq 51 if %y% gtr 2 if %y% lss 5 goto QUITTER
if %x% geq 2 if %x% leq 51 if %y% geq 6 if %y% leq 8 goto DOSSIER
if %x% gtr 2 if %x% lss 26 if %y% geq 9 if %y% leq 11 goto MDP
if %x% gtr 27 if %x% leq 51 if %y% geq 9 if %y% leq 11 goto NOMDOSSIER
if %x% geq 2 if %x% lss 26 if %y% gtr 12 if %y% leq 15 goto RESET
if %x% geq 27 if %x% leq 51 if %y% gtr 12 if %y% leq 15 goto MENU_CLICABLE_DESACTIVATION
goto BOUCLE
 
:MENU_NUMERIQUE
echo  ╔═════════════════════════════════════════════════╗
echo  ║             Que voulez vous-faire ?             ║
echo  � ════════════════════════╦════════════════════════╣
echo  ║ -1 acceder au log      ║ -2 fermer le programme ║
echo  ║                        ║                        ║
echo  � ════════════════════════╩════════════════════════╣
echo  ║                                                 ║
echo  ║ -3 verrouiller/déverouiller le dossier securise ║
echo  ║                                                 ║
echo  � ════════════════════════╦════════════════════════╣
echo  ║ -4 changer le M.D.P    ║ -5 changer le nom du   ║
echo  ║                        ║    dossier             ║
echo  � ════════════════════════╬════════════════════════╣
echo  ║ -6 remmettre �  zero    ║ -7 activer/désactiver  ║
echo  ║    le programme        ║    le menu clicable    ║
echo  � ════════════════════════╩════════════════════════╣
echo  ║ Taper le numero correspondant �  l'intitulé de   ║
echo  ║  votre choix puis taper sur la touche entrer    ║
echo  ║            Menu clicable désactivé !            ║
echo  ╚═════════════════════════════════════════════════╝
echo.
echo.
echo.
echo  ╔═════════════════════════════════════════════════╗
echo  ║          nous sommes le %date%         ║
echo  ╚═════════════════════════════════════════════════╝
set/p "menu=>"
if %menu%==1 goto LOG
if %menu%==2 goto QUITTER
if %menu%==3 goto DOSSIER
if %menu%==4 goto MDP
if %menu%==5 goto NOMDOSSIER
if %menu%==6 goto RESET
if %menu%==7 goto MENU_CLICABLE_ACTIVATION
if %menu%==4651 goto MENU_CACHE
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ ERREUR :menu innexistant !!!                    ║
echo  ║ taper le numero correspondant �  l'action voulue ║
echo  ║ suivit de la touche "enter"                     ║
echo  ╚═════════════════════════════════════════════════╝
echo.
goto MENU
 
:DEBUT
if not exist "Dossier_Securise" md "Dossier_Securise"
if not exist "Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}" md "Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
attrib +h +s "Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
echo>"Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt"
echo>"Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" La derniere personne ayant acceder a votre dossier est VOUS pour la derniere fois le %date% a %time%
echo>"Dossier_Securise/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt" activer
echo  ╔═════════════════════════════════════════════════╗
echo  ║               le dossier �  été créé             ║
echo  ║ Définissez le nom de votre dossier sécurisé     ║
echo  ╚═════════════════════════════════════════════════╝
set /p dossier=  Entre le nom du dossier ici :
ren "Dossier_Securise" "%dossier%"
if not exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc" md "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc"
if not exist "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier"  md "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier"

set tmpfolder=%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier

set num=1
for /l %%a in (1,1,5) do (
if exist "%tmpfolder%/dossier%%a.txt" set /a num=%%a+1
)

if %num% GTR 5 set num=5

(
echo;%cd%
)>"%tmpfolder%/dossier%num%.txt"

set numdoc=dossier%num%

 
:DEBUT_SUITE
echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/nom%numdoc%.txt" %dossier%
attrib +h +s "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier"
echo nom de dossier defini
pause
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Définissez le mot de passe que vous utiliserez  ║
echo  ║ pour acceder �  votre dossier sécurisé et �  vos  ║
echo  ║ log                                             ║
echo  ╚═════════════════════════════════════════════════╝
set /p mdp=Entre le mot de passe ici :
echo>"%dossier%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt" %mdp%
echo mot de passe defini
pause
goto QUITTER
 
:LOG
cls
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt) do set mdp=%%a
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt) do set log=%%a
echo  ╔═════════════════════════════════════════════════╗
echo  ║      Vous avez choisi d acceder a vos log       ║
echo  ╚═════════════════════════════════════════════════╝
set/p pass=Entrez le mot de passe ici :
if not %pass%== %mdp% goto LOG_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ voici le log :                                  ║
echo    %log%
pause
cls
goto MENU
 
:LOG_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
pause
goto QUITTER
 
:DOSSIER
if EXIST "%dossier%" goto VERROUILLER
cls
for /f "tokens=*" %%a in (GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt) do set mdp=%%a
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Vous avez choisi de déverrouiller le dossier    ║
echo  ╚═════════════════════════════════════════════════╝
set/p pass=Entre le mot de passe ici :
if not %pass%== %mdp% goto DOSSIER_FAUX
attrib -h -s "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
ren "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}" "%dossier%"
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║          Le dossier �  été déverrouillé          ║
echo  ╚═════════════════════════════════════════════════╝
pause
goto QUITTER
 
:DOSSIER_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
echo>"GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" "Une tentative de connection a échouée le %date% �  %time%"
pause
goto QUITTER
 
:VERROUILLER
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ vous avez choisi de verrouiller le dossier      ║
echo  ║                                                 ║
ren "%dossier%" "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
attrib +h +s "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
echo  ║          Le dossier �  été verrouille            ║
echo  ╚═════════════════════════════════════════════════╝
pause
goto QUITTER
 
:MDP
cls
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt) do set mdp=%%a
echo  ╔═════════════════════════════════════════════════╗
echo  ║   vous avez choisi de changer de mot de passe   ║
echo  ╚═════════════════════════════════════════════════╝
set/p pass=Entrez l'ancien mot de passe ici :
if not %pass%== %mdp% goto MDP_FAUX
set /p mdp=Entrez le nouveau mot de passe ici :
echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt" %mdp%
echo Le mot de passe �  été re-defini
pause
cls
goto Menu
 
:MDP_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" Une personne a essayer de changer le mot de passe votre dossier et c'est trompe de mot de passe le %date% a %time%
pause
goto QUITTER
 
:NOMDOSSIER
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Vous devez dabord taper votre mot de passe pour ║
echo  ║             effectuer cette action              ║
echo  ╚═════════════════════════════════════════════════╝
echo.
set/p pass=Entrez votre mot de passe ici :
if not %pass%== %mdp% goto NOMDOSSIER_FAUX
attrib -h -s "GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}"
ren "?" "%dossier%"
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Vous avez choisi de modifier le nom de votre    ║
echo  ║            dossier sécurisé                     ║
echo  ╚═════════════════════════════════════════════════╝
set /p newdossier=Entrez le nouveau nom de votre dossier securise ici :
ren "%dossier%" "%newdossier%"
echo>"%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/%numdoc%.txt" %newdossier%
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║   le nom du dossier securise �  été re-défini    ║
echo  ╚═════════════════════════════════════════════════╝
echo    ancien nom: %dossier%
echo    nouveau nom: %newdossier%
pause
cls
goto QUITTER
 
:NOMDOSSIER_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" Une personne a essayer de changer le nom de votre dossiert securise et c'est trompe de mot de passe le %date% a %time%
pause
goto QUITTER
 
:RESET
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/mdp.txt) do set mdp=%%a
cls
color 0c
echo  ╔═════════════════════════════════════════════════╗
echo  ║               /!\  ATTENTION /!\                ║
echo  ║ Remmettre �  zero le programme signifie que vous ║
echo  ║    allez supprimer tous se qui concerne se      ║
echo  ║            programme exepte lui-meme !          ║
echo  ║   Vous ne pourrez pas revenir en arrière !!!    ║
echo  ║   Si vous êtes conscient et certain de vouloir  ║
echo  ║  faire cela veuillez appuyer sur une touche de  ║
echo  ║      votre clavier ou fermer le programme       ║
echo  ║                 IMEDIATEMENT !!!                ║
echo  ╚═════════════════════════════════════════════════╝
pause>nul
cls
color 0a
echo  ╔═════════════════════════════════════════════════╗
echo  ║ Mais vous devez dabord tapez votre mot de passe ║
echo  ║    pour effectuer cette action irrevérsible     ║
echo  ╚═════════════════════════════════════════════════╝
echo.
set/p pass=Entrez votre mot de passe ici :
if not %pass%== %mdp% goto RESET_FAUX
cls
echo    mot de passe correct !
rd /s /q "%dossier_actuel%"
rd /s /q "%systemdrive%/Users/%username%/AppData/Roaming/SecuDoc/dossier/%numdoc%.txt"
echo le programme a bien ete remis a zero.
pause>nul
goto QUITTER
 
:RESET_FAUX
cls
echo  ╔═════════════════════════════════════════════════╗
echo  ║               mot de passe éroné                ║
echo  ╚═════════════════════════════════════════════════╝
echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/log.txt" Une personne a essayer de remmettre a zero le programme et c'est trompe de mot de passe le %date% a %time%
pause
goto QUITTER
 
:MENU_CLICABLE_DESACTIVATION
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt) do set menu_clicable=%%a
if %menu_clicable% == activer echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt" desactiver
goto MENU_NUMERIQUE
 
:MENU_CLICABLE_ACTIVATION
for /f "tokens=*" %%a in (%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt) do set menu_clicable=%%a
if %menu_clicable% == desactiver echo>"%dossier_actuel%/GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}/menu.txt" activer
goto MENU_CLICABLE
 
:QUITTER
 






______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
Comment dire... Un grand MERCI Okay !
Cela fait longtemps que je suis sur se problème et grâce à toi sa marche enfin et en plus mon code est un plus optimisé !
PS: je ne suis pas du tout doué avec la commande for et j'ai appris quelque chose grâce à toi !



Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
bonjour,
désolé de jouer au modo mais cela deviens plus facile pour répondre aux questions !

si tu estimes que nous avons répondu à ton sujet ,alors mets le en résolu Wink




______________________________________________________


cliquer sur un des liens n'est pas dangereux
Ancien site,Nouveau site
Mon site de scan
Vous êtes le
visiteur
Chaine Youtube:
Visiter le site web du posteur Skype
Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
Alors non il n'est pas résolu mais je n'ai pas eu le temps d'expliquer un autre probleme a se sujet car je n'ai pas acces a mon ordinateur pour le moments
Et je m'en suis rendu compte apres avoir poster mon dernier message sur le topic. Je posterai la suite de mon probleme
Quand j'aurai acces a mon ordinateur.



Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
arnaud4651 a écrit:
Alors non il n'est pas résolu mais je n'ai pas eu le temps d'expliquer un autre probleme a se sujet car je n'ai pas acces a mon ordinateur pour le moments
Et je m'en suis rendu compte apres avoir poster mon dernier message sur le topic. Je posterai la suite de mon probleme
Quand j'aurai acces a mon ordinateur.


J'ai hâte de pouvoir t'aider Mr. Green


Je te fais juste une petite pub qui pourrait t'intéresser :

En t'inscrivant sur mon site : http://flammrock.ga, tu obtiens gratuitement :

    - un site internet (nom de domaine gratuit)
    - un compte ftp (espace illimité, temps de connexion illimité, connexions simultanés illimités)
    - un mail

Je suis entrain de faire un webmail à la gmail (ça prend un peu de temps)
Et je suis entrain de régler quelques bugs sur le site Mr. Green

Et ya quelques parties que je n'ai pas fini de coder Laughing Mr. Green




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
salut

j'ai juste fait un balayage rapide, à savoir que pour le chemin du dossier des données
d'application de l'utilisateur en cours, il faut utiliser %appdata%, sinon le script ne sera
pas portable, déjà d'une version windows à l'autre, mais aussi dans le cas d'installations
windows personnalisées.



Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
Bonjour/bonsoir, voici la suite de mon problème :
avec ton bout de code :

Code:

set num=1
for /l %%a in (1,1,5) do (if exist "%dossier_secudoc%/dossier%%a.txt" set /a num=%%a+1)
if %num% GTR 5 set num=5
(echo;%cd%)>"%dossier_secudoc%/dossier%num%.txt"


En faite, la 1ere fois, ça marche bien.
La 2e fois aussi. Mais si je supprime le 1 et que je reviens sur le programme, il passe au 3 alors que je veux que si le 1 n'existe pas ou n'existe plus, il le (re)crée même si le 2 existe déjà.

Et pour revenir a ta pub, le compte ftp m'intéresse beaucoup mais je ne sais pas comment cela marche (pour envoyer, voir, recevoir,... un fichier sur mon compte ftp)

(PS: je ne saurais pas répondre tout de suite à nouveau car je suis en examens jusqu'au 21 juin, donc pas d'ordi pendant cette période Crying or Very sad )
Merci d'avance de ta réponse



Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
arnaud4651 a écrit:
Code:

set num=1
for /l %%a in (1,1,5) do (if exist "%dossier_secudoc%/dossier%%a.txt" set /a num=%%a+1)
if %num% GTR 5 set num=5
(echo;%cd%)>"%dossier_secudoc%/dossier%num%.txt"


En faite, la 1ere fois, ça marche bien.
La 2e fois aussi. Mais si je supprime le 1 et que je reviens sur le programme, il passe au 3 alors que je veux que si le 1 n'existe pas ou n'existe plus, il le (re)crée même si le 2 existe déjà.



Comme ça :

Code:
set num=5
for /l %%a in (1,1,%num%) do (if not exist "%dossier_secudoc%/dossier%%a.txt" set /a num=%%a&goto :break)
:break
(echo;%cd%)>"%dossier_secudoc%/dossier%num%.txt"



arnaud4651 a écrit:
Et pour revenir a ta pub, le compte ftp m'intéresse beaucoup mais je ne sais pas comment cela marche (pour envoyer, voir, recevoir,... un fichier sur mon compte ftp)

(PS: je ne saurais pas répondre tout de suite à nouveau car je suis en examens jusqu'au 21 juin, donc pas d'ordi pendant cette période Crying or Very sad )
Merci d'avance de ta réponse


Et bien il faut utilisé un "Client Ftp",
par exemple pour aller sur batch.xoo.it il faut utiliser un client http mais comme c'est super connu on fait plus trop gaffe.
Envoyer des requêtes sur un serveur http, interpréter la réponse (html,css,javascript) est devenu une habitude banal du quotidien (google, youtube....)

Et bien de la même manière pour se connecter à un serveur ftp, il faut un client ftp mais comme c'est pas très connu ba on se pose la question Okay
Donc, le mieux est d'utilisé FileZilla ( http://www.clubic.com/telecharger-fiche11141-filezilla.html ), il en existe beaucoup d'autres
(un peu comme les navigateurs, il y en a plein : chrome, chromium, opéra, firefox....)




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
Salut !
Alors déjà merci pour ton aide, ce bout de code fonctionne mieux maintenant mais il me reste encore un autre problème a se sujet mais je vais d'abord essayer
de le faire moi-même mais j'ai aussi quelques questions :

A quoi sert le ":break" dans le code que tu m'as donné ?

Et pour le client ftp; j'ai vu sur internet qu'on pouvait le faire avec une invite de commande pour envoie des truc automatiquement sur un serveur
avec des commandes. Alors que dois je utiliser pour me connecter, envoyer, recevoir ou tout simplement voir le contenu de mon compte ftp
Car je trouve que ça a plus de charme avec une cmd Mr. Green



Répondre en citant
Message [R] Pbm de definition de variable avec une condition 
arnaud4651 a écrit:
Salut !
Alors déjà merci pour ton aide, ce bout de code fonctionne mieux maintenant mais il me reste encore un autre problème a se sujet mais je vais d'abord essayer
de le faire moi-même mais j'ai aussi quelques questions :

A quoi sert le ":break" dans le code que tu m'as donné ?


Alors pour mieux comprendre ce qu'il se passe réellement, je vais reformuler la commande :


Code:
set num=5
for /l %%a in (1,1,%num%) do (
  if not exist "%dossier_secudoc%/dossier%%a.txt" (
    set /a num=%%a
    goto :break
  )
)
:break
(echo;%cd%)>"%dossier_secudoc%/dossier%num%.txt"


Là on peut mieux voir qu'au moment où le fichier n'existe pas :
il "enregistre" le contenu de la variable local %%a à la variable num puis il fait un goto :break qui permet de ne pas altérer le variable num et
conserver alors le numéro du fichier qui n'existe pas Okay



arnaud4651 a écrit:
Et pour le client ftp; j'ai vu sur internet qu'on pouvait le faire avec une invite de commande pour envoie des truc automatiquement sur un serveur
avec des commandes. Alors que dois je utiliser pour me connecter, envoyer, recevoir ou tout simplement voir le contenu de mon compte ftp
Car je trouve que ça a plus de charme avec une cmd Mr. Green


Et ba un petit :
Code:
ftp /?
et un petit
Code:
google

ne fait pas de mal xD Mr. Green


Alors je te conseil ce site : http://jean-paul.fraysse.pagesperso-orange.fr/fourretout/ftp.htm
Et pour que tu comprennes mieux je t'ai fait un petit code d'exemple :

Code:
::###~ HEAD
  @echo off
  title Simple Exemple
  chcp 28591 > nul
  setlocal enabledelayedexpansion
  call :init
::###~ HEAD





::###~ VARIABLE
  set user=[USER]
  set pass=[MOT_DE_PASSE]
  set hote=flammrock.ga
  set ftpFile="%temp%\FTP.%hote%"
  set ftpContent=%temp%\FTP.%hote%.content
::###~ VARIABLE






::###~ MAIN
  !ftp!.connect "%user%" "%pass%" "%hote%" true
  if "%ftperrorlevel%"=="0" (
    echo;Bonjour %user%,
   echo;vous êtes connecté sur %hote%
   echo;
   !ftp!.mkdir "Nouveau dossier"
   !ftp!.ls
  ) else (
    echo;Problème avec le serveur distant, veuillez réessayer ultérieurement..
  )
::###~ MAIN






pause>nul&exit
::###~ FUNCTION
  :init
    set "ftp=call :Bftp "
   set ftpEnd=goto :ftpEnd
  goto :eof
  :Bftp <COMMAND> <ARG>
   set AllArg=%*
   set tmpArg=!AllArg:%~1 =!
   if "!tmpArg!"=="!AllArg!" set tmpArg=!AllArg:%~1=!
   set tmpCommand=%~1&set tmpCommand=!tmpCommand:~1!
   set tmpNb=1
   for %%a in (!tmpArg!) do set tmpArg_!tmpNb!=%%a&set /a tmpNb+=1
   set ftperrorlevel=0
   
   ::###~ COMMAND_1 : connect <user> <pass> <hote> BOOLEAN
     if "!tmpCommand!"=="connect" (
       call :Bftp.c.connect !tmpArg!
      %ftpEnd%
      :Bftp.c.connect
        rem connect..
          (
           echo;open %~3
            echo;%~1
            echo;%~2
          )> %ftpFile%
         if "%~4"=="true" (
            echo;bye >> %ftpFile%
            !ftp!.exec
          )
        goto :eof
     )
   ::###~ END COMMAND_1
   ::###~ COMMAND_2 : exec BOOLEAN
     if "!tmpCommand!"=="exec" (
       call :Bftp.c.exec !tmpArg!
      %ftpEnd%
      :Bftp.c.exec
        [url=http://ftp.exe]ftp.exe[/url] /s:%ftpFile% > "%ftpContent%"
        if "%~1"=="false" (
           type "%ftpContent%"
        )
        find "220" %ftpContent% >nul 2>&1
        set ftperrorlevel=!errorlevel!
        if "%~1"=="notResponse" (
         type nul > "%ftpContent%C"
          for /f "skip=8 tokens=*" %%a in ('type "%ftpContent%"') do echo %%a >> "%ftpContent%C"
         set count=0
         findstr /i /V "^ftp ^200 ^150 ^226" "%ftpContent%C" > "%ftpContent%"
         type nul > "%ftpContent%C"
            for /f %%a in ('type "%ftpContent%" ^| find /c /v ""') do set /a tmplines=%%a-1
            for /f "tokens=*" %%a in ('type "%ftpContent%" ^| find /v ""') do (
              set /a count+=1
           if !count! leq !tmplines! echo;%%a >> "%ftpContent%C"
            )
         del /q "%ftpContent%" >nul 2>&1
         ren "%ftpContent%C" "!ftpContent:%temp%\=!"
        )
        goto :eof
     )
   ::###~ END COMMAND_2
   ::###~ COMMAND_3 : WILDCARD *
     if not "!tmpCommand!"=="Undefined" (
       call :Bftp.c.wildcard !tmpCommand! !tmpArg!
      %ftpEnd%
      :Bftp.c.wildcard
        !ftp!.connect "%user%" "%pass%" "%hote%"
          (
           echo;%*
            echo;bye
          )>> %ftpFile%
          !ftp!.exec notResponse
        type "%ftpContent%"
        goto :eof
     )
   ::###~ END COMMAND_3
   
   
    :ftpEnd
  goto :eof
::###~ FUNCTION



Sinon simple et efficace :

Code:
ftp tu.peux.decorer.un.peu.ici.en.mettant.ton.speudo.par.exemple.flammrock.ga
[USER]
[MDP]
[ET LA TU MET TES COMMANDE]


J'ai mis un wildcard dns sur mon nom de domaine, du coup tout les sous-domaines redirige vers flammrock.ga
Donc ftp tu.peux.decorer.un.peu.ici.en.mettant.ton.speudo.par.exemple.flammrock.ga fonctionne xDDDDD


Tu peux aussi accéder à ton compte avec ce lien en remplaçant bien par tes coodonnées de connexion ftp dispo sur flammrock.ga lorsque tu te connecte :


Code:
rem Tu dois utiliser ton navigateur internet ou l'explorateur sur windows  :D
ftp://[USER]:[MDP]@flammrock.ga





______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Message [R] Pbm de definition de variable avec une condition 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch