Comment copier des dossiers automatiquement au démarrage d'une clé USB

Résolu/Fermé
WebReveuse Messages postés 16 Date d'inscription vendredi 31 mai 2019 Statut Membre Dernière intervention 1 juin 2020 - 6 juin 2019 à 15:50
jojol_8144 Messages postés 132 Date d'inscription vendredi 8 mars 2019 Statut Membre Dernière intervention 5 novembre 2020 - 7 juin 2019 à 23:51
Bonjour/Bonsoir,

Je vais vous expliquer comment mettre en place simplement et rapidement un "Autorun" sur votre clé USB, ce qui vous permettra d’exécuter un/des script(s) au démarrage de la clé,
au moment où vous aurez branché votre clé USB sur votre Ordinateur.

Pour cela rien de plus simple:

1.a. Créez 5 fichiers à la racine de votre clé USB source avec les noms suivants :

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.b. Copiez-collez minutieusement le contenu de chaque fichier dans le fichier correspondant :

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Autorun.inf
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Copie_Documents.vbs

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
chemin_destination.txt
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
C:\Users\Jean\exemple\chemin\absolu
Vous devez bien entendu modifier ce chemin en fonction de votre répertoire de destination.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
chemin_source.txt
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
.\USB\exemple\chemin\relatif
Vous devez bien entendu modifier ce chemin en fonction de votre répertoire source sur la clé USB.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Copie_Documents.bat
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@echo off
set src2=chemin_source.txt
set dest2=chemin_destination.txt
for /f "tokens=*" %%a in (%src2%) do (
set src=%%a
)
for /f "tokens=*" %%b in (%dest2%) do (
set dest=%%b
)
:copie
if exist %dest% (
@xcopy %src% %dest% /E /Y >NUL
attrib -h -s Copie_Documents.bat
attrib -h -s Copie_Documents.vbs
goto debut
) else (
echo le repertoire de destination est inexistant
set /p creer="Voulez-vous le creer (Oui/Non) ?"
)
if %creer%==oui (
mkdir %dest%
set creer=non
goto copie
) else (
cls
echo Modifiez le chemin contenu dans chemin_destination.txt
pause
exit)
:debut
setlocal enabledelayedexpansion
set ndc=0
title Mise a jour du dossier %dest% ...
:boucle
set /a alea=%random%%%5+1
set /a total=total+alea
if %total% gtr 100 (
set /a total=total-alea
goto boucle
)
if %ndc% geq 20 goto val2
if "%valeurs%" neq "" (set valeurs=%valeurs%;%alea%) else (set valeurs=%alea%)
goto next
:val2
set valeurs2=%valeurs2%;%alea%
:next
set /a ndc=ndc+1
if %total% neq 100 goto boucle
rem ----------------------
rem CHANGEMENT DE FONCTION
rem ----------------------
for /l %%a in (1 1 %ndc%) do (set largeur=Ä!largeur!)
for /l %%a in (1 1 %ndc%) do (set "espace= !espace!")
set space=%espace:~15%
:loading
set /a n=n+1
if %n% gtr 20 goto lotfor
for /f "tokens=%n% delims=;" %%n in ("%valeurs%") do (set nvaleur=%%n)
goto zap
:lotfor
set /a m=n-20
for /f "tokens=%m% delims=;" %%m in ("%valeurs2%") do (set nvaleur=%%m)
:zap
set /a load=%load%+%nvaleur%
if "%compteur%"=="1" goto jump
if %load% geq 10 (
set "space=%space:~1%"
set compteur=1
)
:jump
if %load%==100 (set "space=%space:~1%")
set progress=%progress%Û
set espace=%espace:~1%
echo Mise a jour du dossier %dest% ...
rem %largeur% = ndc
echo Ú%largeur%¿
echo ³%progress%%espace%³
echo À%largeur%Ù
echo %space%%load%%%
if %n% neq %ndc% (
ping localhost -n 1 > nul
cls
goto loading
)
echo.
echo.
echo Termin‚.
echo.
pause

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Copie_Documents.vbs
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Set oWShell = CreateObject("Wscript.Shell") 
oWShell.Run """Copie_Documents.bat""", 0, False
Set oWSHell = Nothing

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2. Télécharger le logiciel USB autorun suivant :

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

3. Ouvrez le dossier que vous venez de télécharger puis copier le fichier "Usb Autorun.exe" dans le dossier "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp" :
(Cette manipulation permet de lancer automatiquement le logiciel "Usb Autorun.exe" à chaque démarrage de Windows.
Si vous ne voulez pas exécuter ce logiciel à chaque démarrage vous pouvez toujours l'exécuter manuellement. Pour vous, vous pouvez passer cette étape.)


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

4. Copier les fichiers "Autorun.inf", "Copie_Documents.bat", "Copie_Documents.vbs", "chemin_source.txt"
et "chemin_destination.txt" à la racine de la clé USB(Source) :


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- "Autorun.inf" : Fichier utilisé par le logiciel "Usb Autorun.exe" pour exécuter le script dès la détection de ce fichier par le logiciel, en l’occurrence ici dès le branchement de la clé USB.
- "Copie_Documents.bat" : Script batch réalisant la copie d'un dossier et de ses sous-dossiers de la source (voir "chemin_source.txt") vers un dossier de destination (voir "chemin_destination.txt").
- "Copie_Documents.vbs" : Script permettant de "cacher" la fenêtre d'invite de commande lorsque celui-ci se lance au démarrage de la clé.
- "chemin_source.txt" : Fichier contenant le chemin absolu ou relatif (relatif si le fichier est correctement copié à la racine de la source) du dossier source.
- "chemin_destination.txt" : Fichier contenant le chemin absolu du dossier de destination.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

5. Modifier le chemin absolu/relatif contenu dans "chemin_source.txt" avec le chemin absolu/relatif correspondant au chemin source:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

6. Modifier le chemin absolu contenu dans "chemin_destination.txt" avec le chemin absolu correspondant au chemin destination:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

7. Redémarrer le PC pour lancer le programme "Usb Autorun.exe" au démarrage de Windows :
(Le programme se lancera à chaque démarrage de Windows, si vous voulez désinstaller complètement ce logiciel vous devrez le supprimer depuis "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp")

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

8. Brancher la clé USB, la copie se fera en arrière-plan. Vérifiez ensuite que les dossiers/fichiers ont bien été copiés vers le dossier de destination :

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

P.S.: Pour copier manuellement le dossier source vers destination, lancer simplement "Copie_Documents.bat" et un affichage
de progression apparaîtra.



Voilà ! Vous pouvez maintenant ne plus vous soucier de la fastidieuse mise à jour de vos données sur clé USB en sauvegarde sur votre Ordinateur grâce à ce tutoriel. En effet maintenant il vous suffira simplement de brancher votre clé USB, attendre quelques secondes au maximum et vos dossiers sélectionnés seront automatiquement copiés et mis à jour sur votre Ordinateur ! Vous pouvez bien entendu faire l'opération inverse et copier des dossiers depuis votre Ordinateur vers votre clé USB dès que celle-ci est détectée ! Vous avez compris, il existe beaucoup d'usages à cette méthode...

Ce programme sera sûrement revu à une optimisation et sera automatiquement mis à jour via le lien MEGA (Un numéro de version vous indiquera son état de mise à jour).

N'hésitez pas à me faire des retours constructifs sur ce travail qui m'a prit pas mal de temps et de recherche !

Je tiens particulièrement à remercier TTM97 qui m'a permit d'intégrer sa barre de progression (ici seulement pour le visuel et non avec les valeurs réelles) à mon script, histoire de le rendre plus "confortable" visuellement...
Je vous laisse le lien de sa publication sur un forum externe : https://batch.xoo.it/t4211-Une-barre-de-chargement.htm

Sachez aussi que seule une ligne de code permet cette copie de dossiers automatique au démarrage de la clé :
xcopy %src% %dest% /E /Y

Tout le reste est une optimisation de ce script et permet entre autre de vérifier et créer ou non le dossier de destination s'il n'existe pas.
A voir également:

1 réponse

jojol_8144 Messages postés 132 Date d'inscription vendredi 8 mars 2019 Statut Membre Dernière intervention 5 novembre 2020 3
6 juin 2019 à 17:40
Merci pour le tuto
2
jojol_8144 Messages postés 132 Date d'inscription vendredi 8 mars 2019 Statut Membre Dernière intervention 5 novembre 2020 3
7 juin 2019 à 23:51
tu devrais poster ton tuto dans la rubrique codes sources
0