Page 1 sur 1
[EX] Monter un lecteur multi-cartes mémoire dans un dossier
Posté : lun. 16 févr. 2009 18:18
par softwater
Ce petit script à pour but de monter un lecteur multi-cartes mémoire dans un dossier.
Ceci est fort utile lorsque des maps réseau empêchent de voir tous les lecteurs de carte.
Ce script fonctionne avec avec un lecteur contenant 4 lecteurs de cartes.
Il permet à l'utilisateur de sélectionner un disque dur local sur lequel sera créé un répertoire "_LecteursCartes" contenant les points de montage des 4 lecteurs.
Ce script peut être adapter afin de créer une interface un peu plus convivial, mais je le poste uniquement pour le principe.
Le code:
► Afficher le texte
Code : Tout sélectionner
#cs ------------------------------------------
AutoIt version: 3.2.12.1
Date: 16.08.2008
Version:1.0
#ce ------------------------------------------
#include <File.au3>
#include <array.au3>
Dim $avArray
$avArray = _ArrayCreate("_CARTE_SD", "_CARTE_CF", "_CARTE_SM", "_CARTE_MS")
RunWait(@ComSpec & " /c mountvol /l >" & @TempDir & "\amovible.txt", @TempDir, @SW_HIDE)
$var = DriveGetDrive("removable") ;compte le nbr de disque amovible
If @error = 1 Then
$msg = "Aucun disque amovible n'a été détecté sur l'ordinateur." & @CR & @CR
$msg &= "Si vous avez connecté un lecteur de cartes mémoire, affectez une lettre" & @CR
$msg &= "de volume sur chaque lecteur depuis le gestionnaire de disque et relancez" & @CR
$msg &= "ce script."
MsgBox(16, "Aucun disque amovible", $msg)
Exit
EndIf
If $var[0] <> 4 Then
$msg = "Le nombre de disques amovibles connectés n'est pas correct." & @CR & @CR
$msg &= "Veuillez retirer tous les disques amovibles pour ne" & @CR
$msg &= "laisser que le lecteur multi-cartes." & @CR
MsgBox(48, "Erreur", $msg)
Exit
EndIf
$lect = InputBox("Disque de destination", "Indiquez sur quel disque vous désirez monter le lecteur de carte mémoire. (ne mentionner que la lettre)")
For $a = 0 To 3
If Not FileExists($lect & ":\_LecteursCartes\" & $avArray[$a]) Then DirCreate($lect & ":\_LecteursCartes\" & $avArray[$a])
Next
Dim $aRecords
For $i = $var[0] To 1 Step -1
If Not _FileReadToArray(@TempDir & "\amovible.txt", $aRecords) Then
MsgBox(4096, "Error", " Le fichier n'a pas pu être lu erreur:" & @error)
Exit
EndIf
For $x = $aRecords[0] To 15 Step -1
If StringLeft(StringStripWS($aRecords[$x], 8), 2) = $var[$i] Then
RunWait(@ComSpec & " /c mountvol " & $lect & ":\_LecteursCartes\" & $avArray[$i - 1] & " " & StringStripWS($aRecords[$x - 1], 8), @TempDir, @SW_HIDE)
RunWait(@ComSpec & " /c mountvol " & $var[$i] & " /d", @TempDir, @SW_HIDE)
EndIf
Next
Next
FileDelete(@TempDir & "\amovible.txt")
[..] Aide retour à la normale ...
Posté : ven. 20 févr. 2009 10:54
par pierrotm777
Bonjour à tous,
Voilà, j'ai voulu tester ce script.
Depuis, je ne vois plus mais lecteur de carte CM SD etc...
Comment revenir à la normale .
Je suis sous vista .
Merci de vos conseils
Pierre
Re: [EX] Monter un lecteur multi-cartes mémoire dans un dossier
Posté : sam. 21 févr. 2009 10:06
par Tlem
Pour commencer : Utilisez la restauration système à un point antérieur.
Re: [..] Aide retour à la normale ...
Posté : dim. 22 févr. 2009 14:00
par softwater
pierrotm777 a écrit :Bonjour à tous,
Voilà, j'ai voulu tester ce script.
Depuis, je ne vois plus mais lecteur de carte CM SD etc...
C'est bien le but

.
Si tout s'est bien passé ceux-ci sont montés dans un répertoire "[Lecteur]:\_LecteursCartes\" ( [Lecteur] correspondant à la lettre de volume que vous avez indiquée lors du lancement du script).
A l'intérieur de ce répertoire se trouvent les 4 points de montage correspondant aux 4 lecteurs de votre carte mémoire.
Comment revenir à la normale .
Je suis sous vista .
Merci de vos conseils
Pierre
Pour retrouver facilement les lecteurs disparus, il faut aller dans le gestionnaire de disques et leurs ré-attribuer une lettre de lecteur.
Sous Vista, aller dans le "Panneau de configuration -> Outils d'administration" double-cliquer sur "Gestion de l'ordinateur" puis aller sous "Stockage -> Gestion des disques". Ensuite un clic droit sur chaque disque amovible n'ayant pas de lettres, sélectionnez "Modifier la lettre de lecteur...." et le tour est joué.
Re: [EX] Monter un lecteur multi-cartes mémoire dans un dossier
Posté : lun. 23 févr. 2009 12:31
par pierrotm777
Merci softwater .
Tout est rentré dans l'ordre !