Batch utilisateurs en boucle +

Résolu/Fermé
stouquetteman Messages postés 2 Date d'inscription mardi 2 mars 2010 Statut Membre Dernière intervention 2 mars 2010 - 2 mars 2010 à 14:58
stouquetteman Messages postés 2 Date d'inscription mardi 2 mars 2010 Statut Membre Dernière intervention 2 mars 2010 - 2 mars 2010 à 17:28
Bonjour,
Tout d'abord, je suis tout nouveau sur le Comment ça marche, je ne connait donc pas tout ce qu'il faut savoir ^^.

Enfin bon, j'ai un problème, je créer un fichier.bat qui, normalement, doit permettre la création d'utilisateurs en boucle en ayant demandé précédemment le nombre d'utilisateur voulu. Donc après avoir fait la demande a l'Admin, il stocker les nom et mot de passe de l'utilisateur (en clair mais ce n'est pas le problème) dans un fichier appellé user.txt.

On arrive au vrai problème, celui ou l'on remarque qu'au début de ce fameux user.txt il y a un petit "/".
Je vous met mon "code source" pour voir si j'ai fait une petite bêtise ^^.

@echo off
color 80
echo.
echo.
echo Ce programme permet la gestion des comptes et
echo.
echo des groupes utilisateurs dans l'Active Directory
echo.
echo.
echo.
echo.
pause
:menu
cls
echo.
echo.
echo Que voulez vous faire ??
echo.
echo.
echo 1- Creation d'utilisateur 2- Suppression d'utilisateur
echo.
echo.
echo 3- Creation de groupe 4- Suppression de groupe
echo.
echo.
echo 5- Afficher les utilisateurs 0- Quitter
echo.
echo.
SET /p choix=Tapez le numero de l'action a effectuer :
if "%choix%" LSS "0" goto :menu
if "%choix%" GEQ "6" goto :menu
goto %choix%a
..
..
..
..
:1a
cls
echo.
echo.
SET /P nombre= Combien d'utilisateurs voulez vous creez ? :
SET /a cpt=0
:deb
if "%cpt%"=="%nombre%" (
echo %creauser%/%creamdp%>>user.txt
FOR /F "eol= tokens=1,2 delims=/" %%1 in (user.txt) do (net user %%1 %%2 /ADD)
goto :action
) else (
echo.
echo.
SET /P creauser= Donnez le nom de l'utilisateur a creer :
SET /P creamdp= Donnez le mot de passe de l'utilisateur :
@echo off >> user.txt
echo %creauser%/%creamdp%>>user.txt
SET /a cpt=cpt+1
goto :deb
)
.
.
[...]
.
.
:action
cls
echo.
echo.
echo =============================
echo * *
echo * Terminer *
echo * *
echo =============================
echo.
echo.
echo Que voulez vous faire ??
echo.
echo.
echo 1- Retour 0- Quitter
echo.
echo.
SET /p termin=Tapez le numero de l'action a effectuer :
echo.
echo.
if "%termin%" LSS "0" goto :action
if "%termin%" GEQ "2" goto :action
if "%termin%"=="1" goto :menu
if "%termin%"=="0" goto :fin
..
..
..
..
:fin


Merci Merci Merci ^^

2 réponses

dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
2 mars 2010 à 16:55
code corriger:

@echo off
color 80
echo.
echo.
echo Ce programme permet la gestion des comptes et
echo.
echo des groupes utilisateurs dans l'Active Directory
echo.
echo.
echo.
echo.
pause
:menu
cls
echo.
echo.
echo Que voulez vous faire ??
echo.
echo.
echo 1- Creation d'utilisateur 2- Suppression d'utilisateur
echo.
echo.
echo 3- Creation de groupe 4- Suppression de groupe
echo.
echo.
echo 5- Afficher les utilisateurs 0- Quitter
echo.
echo.
SET /p choix=Tapez le numero de l'action a effectuer :
if "%choix%" LSS "0" goto :menu
if "%choix%" GEQ "6" goto :menu
goto %choix%a
..
..
..
..
:1a
cls
echo.
echo.
SET /P nombre= Combien d'utilisateurs voulez vous creez ? :
SET /a nombre=%nombre%-1
:deb
SET /a cpt=0
SET /P creauser= Donnez le nom de l'utilisateur a creer :
SET /P creamdp= Donnez le mot de passe de l'utilisateur :
:deb2
if "%cpt%"=="%nombre%" (
echo %creauser%/%creamdp%>>user.txt
FOR /F "eol= tokens=1,2 delims=/" %%1 in (user.txt) do (net user %%1 %%2 /ADD)
goto :action
) else (
echo.
echo.
SET /P creauser= Donnez le nom de l'utilisateur a creer :
SET /P creamdp= Donnez le mot de passe de l'utilisateur :
@echo off >> user.txt
echo %creauser%/%creamdp%>>user.txt
SET /a cpt=cpt+1
goto :deb2
)
.
.
[...]
.
.
:action
cls
echo.
echo.
echo =============================
echo * *
echo * Terminer *
echo * *
echo =============================
echo.
echo.
echo Que voulez vous faire ??
echo.
echo.
echo 1- Retour 0- Quitter
echo.
echo.
SET /p termin=Tapez le numero de l'action a effectuer :
echo.
echo.
if "%termin%" LSS "0" goto :action
if "%termin%" GEQ "2" goto :action
if "%termin%"=="1" goto :menu
if "%termin%"=="0" goto :fin
..
..
..
..
:fin
0
stouquetteman Messages postés 2 Date d'inscription mardi 2 mars 2010 Statut Membre Dernière intervention 2 mars 2010
2 mars 2010 à 17:28
Merci beaucoup dream666 :),

J'aurai dû penser à mettre une autre balise et nombre a -1 ^^

Bonne soirée
0