Bonjour ce message est un doublon de celui-ci : (vu que je pense qu'il est mieux ici).
J'utilise un script BATCH DOS afin de monter un lecteur réseau.
J'utilise un bout de code pour masquer la saisie du mot de passe.
J'utilise également l’expansion retardée dans mon script total.
Je bloque sur un effet indésirable : lorsque le mot de passe saisi contient un ! la connexion ne se fait pas a cause de l'expansion retardée (les ! étant utilisés pour les variables).
J'ai pallié à ce problème en supprimant la partie saisie du nom d'utilisateur et du mot de passe, qui sont demandé lors de l'exécution du net use.
Mais ça fait moins "propre".
L'autre solution est de terminer par endlocal l’expansion retardée, mais cela pose problème lorsque je rappelle des variables enrichie en début de script (même en remettant le setlocal enabledelayedexpansion)
Je pensais à utiliser la commande set afin de remplacer les ! par un ^^! mais ça ne fonctionne pas.
Auriez-vous une idée, éventuellement sur une autre méthode pour masquer la saisie de l'utilisateur ?
Voici la partie authentification :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 @ECHO OFF CLS setlocal EnableDelayedExpansion echo. echo Un lecteur reseau vers le serveur va etre monte. echo. :: Permet de masquer la saisie du mot de passe : >$ echo set o=createObject("scriptpw.password"):wsh.echo o.getpassWord():^ set a=createobject("scripting.filesystemobject"):a.deletefile("$") set /p etp=Utilisateur : cd|set/p"=Mot de passe : " for /f "tokens=*" %%* in ('cscript -nologo -e:vbs $') do set "mdp=%%*" echo. set /p Lettre=Lettre [Entree pour X] : echo. echo Mot de passe saisi : %mdp% echo. pause IF %errorlevel%==1 set Lettre=X :: Teste si la lettre est déjà utilisée if exist %Lettre%: goto Err_Lettre :: Suppression du lecteur X: pour le remonter :: permet d'accéder aux fichiers de TWS Graph net use %Lettre%: /delete /Yes > NUL cls net use %Lettre%: \\adresse_IP_serveur\Partage /user:DOMAINE\%Etp% %mdp% /PERSISTENT:YES
Partager