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 14418 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 28 mars 2024 - 12 mai 2017 à 17:10
barnabe0057 Messages postés 14418 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 28 mars 2024 - 12 mai 2017 à 17:10
A voir également:
- Script de modification de lecteur reseau
- Script vidéo youtube - Guide
- Lecteur video pc - Guide
- Suivi de modification word - Guide
- Logiciel modification pdf - Guide
- Entrer les informations d'identification reseau - Guide
7 réponses
barnabe0057
Messages postés
14418
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
28 mars 2024
4 901
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
14418
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
28 mars 2024
4 901
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
14418
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
28 mars 2024
4 901
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
14418
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
28 mars 2024
4 901
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
14418
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
28 mars 2024
4 901
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
14418
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
28 mars 2024
4 901
12 mai 2017 à 17:10
12 mai 2017 à 17:10
De rien.