Partage
  • Partager sur Facebook
  • Partager sur Twitter

[BATCH] ": était inattendu"

Sujet résolu
    29 juin 2020 à 22:19:12

    Bonjour,

    je suis en train de créer un script batch pour gérer des comptes utilisateurs locaux et quand je veux tester la création d'un utilisateur j’obtiens le message : ": était inattendu" (l'erreur apparait au moment d'arriver sur le "if %errorlevel% == 0").

    J'ai regardé dans le script mais je ne parviens pas à trouver l'erreur :

    :createaccount
    	cls
    	echo Création d'un compte local !
    	echo.
    	:user
    		set /p nameuser=Saisissez le nom de l'utilisateur : 
    		pause
    		net user %nameuser% P@sswOrd2020 /add >nul
    		pause
    		if %errorlevel% == 0 (
    		pause
    			net user %nameuser% /delete >nul
    			:: Vérifie si le poste fait partie d'un domaine
    			if /I %userdomain% NEQ "WORKGROUP" goto withpass
    			set /p pass=Souhaitez-vous ajouter un mot de passe ? (Y / N) : 
    				if /I %pass% == "Y" goto withpass
    				net user %nameuser% /add >nul
    				echo le compte a bien été créé !
    				echo.
    				:otheraccount
    					set /p choice=Souhaitez-vous créer un autre compte ? (Y / N) : 
    						if /I %choice% == "Y" goto user
    						if /I %choice% == "N" goto localaccount
    				:withpass
    					set /p pass=Entrer le mot de passe : 
    					set /p verifpass=Confirmer le mot de passe : 
    					if /I %pass% NEQ %verifpass% (
    						echo Les mots de passe ne correspondent pas
    						goto withpass
    					)
    					net user %nameuser% %pass% /add >nul
    					echo Le compte a bien été créé !
    					goto otheraccount
    		) else if %errorlevel% == 2 (
    			echo Erreur ! Le compte existe déjà !
    			goto user
    		)


    Est ce que quelqu'un aurait une idée d'où ça peut venir ^^ ?

    Merci d'avance

    -
    Edité par Freezie 29 juin 2020 à 22:26:45

    • Partager sur Facebook
    • Partager sur Twitter

    Nathan

      30 juin 2020 à 11:24:12

      Bonjour,

      A partir du moment où tu rentres dans le if ligne 10, dès qu'il croise une parenthèse fermante, il semble vouloir fermer ton if ce qui provoque cette erreur ligne 15.

      Voici une correction dont tu peux t'inspirer :

      :createaccount
      cls
      echo Création d'un compte local !
      echo.
      
      :user
      set /p nameuser=Saisissez le nom de l'utilisateur :
      rem net user %nameuser% P@sswOrd2020 /add >nul
      if %errorlevel% EQU 2 (
      	echo Erreur ! Le compte existe déjà !
      	goto user
      )
      if %errorlevel% NEQ 0 (
      	goto quit
      )
      net user %nameuser% /delete >nul
      :: Vérifie si le poste fait partie d'un domaine
      if /I not "%userdomain%"=="WORKGROUP" goto withpass
      set /p pass="Souhaitez-vous ajouter un mot de passe ? (Y / N) :"
      if /I "%pass%"=="Y" goto withpass
      net user %nameuser% /add >nul
      echo le compte a bien été créé !
      echo.
      
      :otheraccount
      set /p choice="Souhaitez-vous créer un autre compte ? (Y / N) :"
      if /I "%choice%"=="Y" goto user
      if /I "%choice%"=="N" goto localaccount
      
      :withpass
      set /p pass="Entrer le mot de passe :"
      set /p verifpass="Confirmer le mot de passe :"
      if /I %pass% NEQ %verifpass% (
      	echo Les mots de passe ne correspondent pas
      	goto withpass
      )
      net user %nameuser% %pass% /add >nul
      echo Le compte a bien été créé !
      goto otheraccount
      
      	
      :quit
      echo end.
      pause
      exit
      



      • Partager sur Facebook
      • Partager sur Twitter
        30 juin 2020 à 12:40:54

        Bonjour,

        ça fonctionne merci ^^

        • Partager sur Facebook
        • Partager sur Twitter

        Nathan

        [BATCH] ": était inattendu"

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown