Batch servant a la copie de fichier sur clé usb

[Résolu/Fermé]
Signaler
-
 Utilisateur anonyme -
Bonjour,

Nous avons quelques fichiers à copier sur une multitude clé. Pour se faire, j'ai créé un .bat et voici la zone qui nous intéresse :

@echo off
set /p nombreUsb="Nombre total de cles a traiter : "
set /p nombrePort="Nombre de port usb qui vont etre utilises simultanement pour une serie de copies : "
echo.
echo Entrer les lettres de chaque lecteurs usb
echo ? Connecter chaque cle sur un port pour obtenir la lettre qui lui est attribue ?
for /l %%i in (1,1,%nombrePort%) do (
set /p usb%%i="Lettre du lecteur usb : "
)
echo.
echo Tous les ports sont renseignes, connecter les cles puis appuyer sur une touche pour lancer la copie
pause>nul
-------------------------------------------Jusqu'ici tout va bien------------------------------------------------
for /l %%j in (1,%nombrePort%,%nombreUsb%) do (
for /l %%k in (1,1,%nombrePort%) do (
------------------------------------------C'est ici que je bloque----------------------------------------------
xcopy /K /R /Y "C:\Users\ajadeau\Desktop\Pour cle USB\*.*" %"Une variable"%:\

Mon souci, c'est que je ne vois pas comment écrire la fameuse variable (qui indique quel lecteur utiliser). Normalement, celle-ci devrait être : %usb%%k%. Cette valeur, lors du premier passage dans la boucle, devrait alors prendre la valeur %usb1% et donc donner la lettre du lecteur usb correspondant que nous avons pu donner plus tôt dans le script. Malheureusement, %usb%%k% n'est pas une formulation correct. Si vous avez la formulation correct ou une autre façon de procéder mais qui donnerai exactement le même résultat je vous remercie.

1 réponse

Messages postés
171
Date d'inscription
dimanche 8 juillet 2012
Statut
Membre
Dernière intervention
21 mars 2015
25
Bonjour,

J'ai modifier légèrement ton code, normalement ça marche :

@echo off
mode con cols=80 LINES=20
setlocal enabledelayedexpansion
echo Veuillez brancher toute les cles
set /p nombreUsb="Nombre total de cles a traiter : "
echo Entrer les lettres de chaque lecteurs usb
for /L %%i in (1,1,%nombreUsb%) do ( set /p usb%%i="Lettre du lecteur usb : " )
echo.
echo Tous les ports sont renseignes, appuyer sur une touche pour lancer la copie
pause>nul
for /L %%j in (1,1,%nombreUsb%) do ( xcopy /K /R /Y "C:\Users\ajadeau\Desktop\Pour cle USB\*.*" "!usb%%j!:")
echo.
pause>nul

Si tu as besoin d'explication n'hésite pas !
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Merci beaucoup, ça marche nickel, tout est clair ;)