Bonjour à tous, je suis débutant en batch et j’essaie de créer une condition qui me permettrais de tester une connexion USB sur un port précis de l’ordinateur. Malheureusement, mon programme actuel teste uniquement si une clé usb est branché à mon ordinateur et ne précise pas le port.
:baseprog
IF exist F: (
Echo A port is connected
) ELSE (
goto :baseprog
)
- Edité par Quenn30001 15 novembre 2019 à 23:04:07
Mon but n’est pas d’executer un simple Echo ( en fait, je vais faire un programme python qui ira de paire avec celui-ci mais ce sera assez compliqué ). Ensuite, sur mon ordi, si je branche ma clé usb sur un port, elle vas s’appeler F: mais ce sera le cas également si je la change de port. Je me demande donc quel est le paramètre qui différencie les ports usb.
Avec un de mes potes, on est arrivé à ce résultat ( en batch )
@echo off
set Chemin = 0
set Fichier = CheminSendUSBJules.txt
:start
IF exist F:\\__SendTo__ (set Chemin = F)
IF exist G:\\__SendTo__ (set Chemin = G)
IF exist H:\\__SendTo__ (set Chemin = H)
IF exist I:\\__SendTo__ (set Chemin = I)
IF exist J:\\__SendTo__ (set Chemin = J)
IF %Chemin% = 0 (goto :start) ELSE (Echo %Chemin% >> CheminSendUSBJules.txt)
Expliquations (si quelqu’un ne comprend pas) :
@echo off (on n’affiche pas les chemin d’exécutions)
set Chemin = 0 (on met la variable chemin à 0)
:start (on met un marqueur :start)
IF exist F:\\__SendTo__ (set Chemin = F) (si le fichier F:__sendTo__ existe, on met la variable Chemin à F)
IF exist G:\\__SendTo__ (set Chemin = G)(si le fichier G:__sendTo__ existe, on met la variable Chemin à G)
IF exist H:\\__SendTo__ (set Chemin = H)(si le fichier H:__sendTo__ existe, on met la variable Chemin à H)
IF exist I:\\__SendTo__ (set Chemin = I)(si le fichier I:__sendTo__ existe, on met la variable Chemin à I)
IF exist J:\\__SendTo__ (set Chemin = J)(si le fichier J:__sendTo__ existe, on met la variable Chemin à J)
IF %Chemin% = 0 (goto :start) ELSE (Echo %Chemin%) (si la varible Chemin est à 0, on reviens au marqueur :start, sinon, on affiche la lettre de l’USB dans la console)
- Edité par Quenn30001 17 novembre 2019 à 11:35:53
J'ai vérifié mon post. Pour la postérité ... je veux corriger mon code:
:start
for %%c in (F G H I J) do (
if exist %%c:\\__SENDTO__ (
set chemin=%%c
goto :found (si désiré)
)
)
goto :start
:found
echo %chemin%
Autrement, on se rend à :found, qu'on trouve ou pas.
Si on veut faire la recherche à l'envers, on utilise la liste (J I H G F)
On aura alors la dernière clé insérée et non la première.
Le Tout est souvent plus grand que la somme de ses parties.
Connexion USB sur un port précis
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.