Batch servant a la copie de fichier sur clé usb
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
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.
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.
A voir également:
- Batch servant a la copie de fichier sur clé usb
- Clé usb non détectée - Guide
- Formater clé usb - Guide
- Fichier bin - Guide
- Clé usb - Accueil - Stockage
- Comment réduire la taille d'un fichier - Guide
1 réponse
Bonjour,
J'ai modifier légèrement ton code, normalement ça marche :
Si tu as besoin d'explication n'hésite pas !
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 !
Utilisateur anonyme
Merci beaucoup, ça marche nickel, tout est clair ;)