Script de modification de lecteur reseau
Résolu/Fermé
Dakolva
Messages postés
6
Date d'inscription
jeudi 11 mai 2017
Statut
Membre
Dernière intervention
12 mai 2017
-
11 mai 2017 à 17:16
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 12 mai 2017 à 17:10
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 12 mai 2017 à 17:10
A voir également:
- Changer lettre lecteur réseau
- Changer dns - Guide
- Changer lettre disque dur - Guide
- Changer reseau wifi chromecast - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Changer clavier qwerty en azerty - Guide
7 réponses
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 922
11 mai 2017 à 18:22
11 mai 2017 à 18:22
J'ai trouvé une solution pour gérer les noms avec et sans espace, dans la limite d'un seul espace par nom :
(NET USE | find /I "\\192.168.1.2") && (call :changement)
exit
:changement
for /f "tokens=2,4,5 delims=\ " %%M in ('net use ^| find /I "\\192.168.1.2"') do (
NET USE %%M /delete /yes
(NET USE %%M "\\srv-data\%%N %%O") || (NET USE %%M \\srv-data\%%N)
)
goto :eof
rem
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 922
Modifié le 11 mai 2017 à 17:55
Modifié le 11 mai 2017 à 17:55
Bonjour,
Essaie voir comme ça :
Je me suis permis de simplifier le code, il était trop compliqué par rapport à la tâche à effectuer.
J'ai fusionné les deux boucles for, et j'ai utilisé la commande net use directement dans le for, au lieu de lire et d'écrire dans un fichier texte superflu.
Essaie voir comme ça :
(NET USE | find /I "\\192.168.1.2") && (call :changement)
exit
:changement
for /f "tokens=2,4 delims=\ " %%M in ('net use ^| find /I "\\192.168.1.2"') do (
NET USE %%M /delete /yes
NET USE %%M \\srv-data\%%N
)
goto :eof
rem
Je me suis permis de simplifier le code, il était trop compliqué par rapport à la tâche à effectuer.
J'ai fusionné les deux boucles for, et j'ai utilisé la commande net use directement dans le for, au lieu de lire et d'écrire dans un fichier texte superflu.
Dakolva
Messages postés
6
Date d'inscription
jeudi 11 mai 2017
Statut
Membre
Dernière intervention
12 mai 2017
11 mai 2017 à 18:02
11 mai 2017 à 18:02
Alors,
Merci ça à l'air de fonctionner à condition de prendre en compte les espaces dans le nom de répertoire récupéré dans la variable %%N.
Sinon le chemin réseau n'est pas trouvé
Merci ça à l'air de fonctionner à condition de prendre en compte les espaces dans le nom de répertoire récupéré dans la variable %%N.
Sinon le chemin réseau n'est pas trouvé
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 922
Modifié le 11 mai 2017 à 18:06
Modifié le 11 mai 2017 à 18:06
Et si tu rajoutes des " " ?
edit : ne tiens pas compte de ce que j'ai marqué, je viens de comprendre le problème avec les espaces
NET USE %%M "\\srv-data\%%N"
edit : ne tiens pas compte de ce que j'ai marqué, je viens de comprendre le problème avec les espaces
Dakolva
Messages postés
6
Date d'inscription
jeudi 11 mai 2017
Statut
Membre
Dernière intervention
12 mai 2017
11 mai 2017 à 18:04
11 mai 2017 à 18:04
comment fait-on pour que %%N soit complet genre :
\\srv-data\"répertoire avec espace"
\\srv-data\"répertoire avec espace"
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 922
11 mai 2017 à 18:11
11 mai 2017 à 18:11
Il faut rajouter un token :
Le problème c'est que si le nom de partage ne contient pas d'espace ça sera faux encore une fois.
(NET USE | find /I "\\192.168.1.2") && (call :changement)
exit
:changement
for /f "tokens=2,4,5 delims=\ " %%M in ('net use ^| find /I "\\192.168.1.2"') do (
NET USE %%M /delete /yes
NET USE %%M "\\srv-data\%%N %%O"
)
goto :eof
rem
Le problème c'est que si le nom de partage ne contient pas d'espace ça sera faux encore une fois.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dakolva
Messages postés
6
Date d'inscription
jeudi 11 mai 2017
Statut
Membre
Dernière intervention
12 mai 2017
11 mai 2017 à 18:08
11 mai 2017 à 18:08
non c'est pas là apparemment qu'il faut les rajouter.
C'est lors de la détection de la chaîne de caractère qui conduit à renseigner la variable %%N qu'il faut tout récupérer
C'est lors de la détection de la chaîne de caractère qui conduit à renseigner la variable %%N qu'il faut tout récupérer
Dakolva
Messages postés
6
Date d'inscription
jeudi 11 mai 2017
Statut
Membre
Dernière intervention
12 mai 2017
11 mai 2017 à 18:12
11 mai 2017 à 18:12
si je fait un
cela m'affiche "documents" au lieu de "documents entreprise"
for /f "tokens=2,4 delims=\ " %M in ('net use ^| find /I "\\192.168.1.2"') do echo %N
cela m'affiche "documents" au lieu de "documents entreprise"
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 922
11 mai 2017 à 18:20
11 mai 2017 à 18:20
J'ai indiqué la solution dans mon message de 18h11
Dakolva
Messages postés
6
Date d'inscription
jeudi 11 mai 2017
Statut
Membre
Dernière intervention
12 mai 2017
12 mai 2017 à 16:56
12 mai 2017 à 16:56
merci beaucoup cela fonctionne.
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 922
12 mai 2017 à 17:10
12 mai 2017 à 17:10
De rien.