Copie des fichiers sur ma clé usb après avoir inséré ma clé
brucine Messages postés 21765 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Svp quand je fais un copie collé de ceci et que je mets par exemple : copie.bat et que j’exécute on me renvois un message src ? je clique sur c ensuite ext ? quand je mets .bat rien juste un message appuyer sur une touche pour continuer
Ensuite je mets copiebat mais quand je mets la clé sur une machine aucune copie que faire svp
echo off echo src ? set /p src= echo dest ? set /p dest= echo ext ? set /p ext= for /R %src% %%f in (*.%ext%) do copy "%%f" %dest% pause
iPhone / Chrome 106.0.5249.92
- Copie des fichiers sur ma clé usb après avoir inséré ma clé
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Formater clé usb - Guide
- Clé usb - Accueil - Stockage
- Creer cle usb windows 10 - Guide
1 réponse
Bonjour,
Je pense que le problème vient de l'extension, tu ne dois pas mettre .bat tu dois mettre bat
Pour éviter ce genre de problème , il faut un petit peu filtrer/valider les saisies de l'utilisateur comme ceci :
@echo off rem chcp 1252 >nul setlocal disabledelayedexpansion :saisieSource cls set "src=" echo Dossier source ? set /p src=">>> " if not defined src (goto :saisieSource) if not exist "%src%" (goto :saisieSource) set "src=%src:"=%" :saisieDestination set "dest=" echo. & echo Dossier de destination ? set /p dest=">>> " if not defined dest (goto :saisieDestination) if not exist "%dest%" (goto :saisieDestination) set "dest=%dest:"=%" :saisieExtension set "ext=" echo. & echo Extension ? set /p ext=">>> " if not defined ext (goto :saisieExtension) set "ext=%ext:.=%" for /R "%src%" %%A in (*.%ext%) do copy "%%~A" "%dest%" pause exit
Concernant la source, il ne faut pas taper C il faut taper C:
C'est une très mauvaise idée d'indiquer C: comme source car la recherche des fichiers sur le tout le disque C va prendre un temps fou, au mieux quelques minutes au pire quelques dizaines de minutes voire des heures suivant la taille du disque.
Bonjour,
La syntaxe set "src=%src:"=%" ne sera pas indispensable si le chemin est parfaitement qualifié et ce qui est une mauvaise idée, ce n'est pas tant de chercher des batchs sur C:\ que ce qui amène à les y chercher: il n'y a aucune raison qu'ils se trouvent à la racine de C:\ et pas dans un dossier dédié par exemple C:\batch.
Sur la destination, il n'est pas logique de devoir saisir le chemin de la clé USB à la main, puisqu'on ne connaît (dans le cas général) pas la lettre affectée à la clé USB tant qu'on ne l'a pas insérée, et que même quand on l'a fait on ne sait pas s'il s'agit de la bonne clé.
On peut s'affranchir de cette dernière situation après avoir introduit la clé une première fois, supposons qu'elle soit reconnue comme E:\ et en saisissant VOL E: qui nous fournira le numéro de série sous la forme D4FB-0E65, constant tant qu'il n'y a pas formatage, et que nous conserverons sans le tiret dans un script de ce type, me suffisant alors de récupérer comme destination la variable %lecteur%: