Page 1 sur 1

changer la lettre d'un lecteur réseau

Posté : 31 mars 2010 13:16
par kol
Bonjour a tous,
je voudrais savoir s'il existe un moyen de changer (ou au moins de récupérer) la lettre d'un lecteur réseau en batch.
En effet j'essaye d'écrire un .bat qui monte un lecteur réseau à la lettre R: mais je voudrais que si la lettre est utilisé pour un autre réseau que ce lecteur soit monter sur une autre lettre.

je ne sait pas si c'est clair. n'hésitez pas a demander des précisions.

Merci d'avance

Re: changer la lettre d'un lecteur réseau

Posté : 31 mars 2010 14:12
par Laddy
Bonjour

un truc de ce genre :
FOR %%A IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF NOTEXIST %%A: ( SET LECTEUR=%%A)
Command montage lecteur réseau
ou

Code : Tout sélectionner

@echo off
::code Laddy
::http://www.batchclipboard.info
::co-admin http://batch.xoo.it
:: utilisation de la commande fsutil fsfindo drivetype lecteur:
For %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
     if exist %%i: (
for /f "tokens=1" %%a in ('fsutil fsinfo drivetype %%i:^|Find "Lecteur r‚seau ou … distance"') do ( echo %%a)))
pause

Re: changer la lettre d'un lecteur réseau

Posté : 31 mars 2010 15:21
par kol
Tout d'abord merci pour ta réponse laddy,

mais ce que tu me propose n'a pas l'air de correspondre.
Je m'explique :

En fait je veux absolument (pour des raison pratiques) monter un lecteur réseaux bien précis en R: <== ça je sait faire

mais

je dois faire ça chez un client et je ne connait pas les lecteurs monté de base sur ses station (pas de problème de chemin puisque le pc sera "vide").
Et il possède vraisemblablement un lecteur réseau sur R: or je dois "déplacer" ce lecteur en Z: par exemple.

et le tout sur un seul fichier batch.

donc en gros ce que pensait c'était récupérer le chemin du lecteur R: actuel et le réaffecter à la lettre Z: .
mais je ne trouve pas de commande dos pour lire ce chemin.

Comme l'histoire du chemin me parait impossible en batch je pensait simplement changer la lettre du lecteur R: en Z: mais ça a pas l'air si simple non plus xD

en tout cas merci de me lire et de m'aider
et merci encore pour ta réponse laddy

Re: changer la lettre d'un lecteur réseau

Posté : 31 mars 2010 15:38
par Laddy
Pour récupérer le chemin tu dois réaliser une boucle for pour récupérer l'information provenant de la commande net use.

Re: changer la lettre d'un lecteur réseau

Posté : 31 mars 2010 15:46
par kol
ok je commence comprendre.

si je lance un net use il me sort un tableau que je fois parcourir avec la boucle for si je comprend bien.

je tente ça.

merci encore.
je te tien au courant du résultat

Re: changer la lettre d'un lecteur réseau

Posté : 31 mars 2010 16:06
par Laddy
Oui tout à fait

Re: changer la lettre d'un lecteur réseau

Posté : 31 mars 2010 18:25
par kol
Voilà j'ai réussi :D

pour ceux que ça interesse ça donne ça

Code : Tout sélectionner

@echo off

if exist R: (goto chemin) else (goto monte)

:chemin
for /f "usebackq skip=5 tokens=2,3 delims= " %%a in (`net use`) do (if "%%a"=="R:" set chem=%%b)

if "%chem%"=="[\\Chemin voulu]" (goto Racourcis) else (goto change)

pause

:change
net use * %chem% /persistant : yes

net use R: /delete 

pause

:monte
net use R: [\\Chemin voulu]    /persistant : yes

:Racourcis
mkdir C:\Local\icons
copy R:\Icons\*.* C:\local\icons

pause

echo Set oWS = WScript.CreateObject("WScript.Shell") >>lnk.vbs
echo sLinkFile = "IMU.lnk" >>lnk.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >>lnk.vbs
echo With oLink >>lnk.vbs
echo     .TargetPath = "N:\IMU.bat" >>lnk.vbs
echo     .WindowStyle = 1 >>lnk.vbs
echo     .IconLocation = "C:\Local\icons\IMU.ico" >>lnk.vbs
echo     .Description = "Shortcut IMU" >>lnk.vbs
echo     .Save >>lnk.vbs
echo End With >>lnk.vbs
start /WAIT lnk.vbs
del lnk.vbs

 
en plus j'y ajoute un petit script qui crée les raccourcis vers un autre batch d'installation.

Merci encore Laddy