Batch synchronisation clé USB / HDD
Dernière réponse : dans Programmation
Bonjour à tous!
J'ai récemment eu l'idée de me créer un petit fichier .bat qui aurait pour but de synchroniser les éléments de ma clé USB avec ceux de mon disque dur.
Pour être plus précis, voici un exemple:
Sur ma clé, il y a un dossier Musique et un dossier Stage
Lorsque je lance le batch, je voudrai avoir le choix du dossier a synchroniser avec le HDD (donc, c'est a l'utilisateur de saisir le nom du dossier)
j'ai fais ceci :
@echo Assistant de synchronisation des elements du dossier Stage du disque E:\ sur le bureau de votre ordinateur.
@echo.
@echo * Remarque: Les elements deja presents sur le bureau ne seront pas copies.*
@echo off
echo.
pause
@echo off
@echo.
@echo voici le contenu de la cle USB:
@echo.
dir E:
@echo off
@echo.
@echo Pour confirmer la synchronisation, appuyez sur une touche...
@echo off
@echo.
pause
@echo off
@echo.
@echo Copie des fichiers en cours...
@echo.
xcopy E:\Stage C:\Users\Tib\Desktop /d /e /h /y
@echo.
@echo Les elements ont bien ete copies vers le bureau.
@echo.
@echo Le programme va maintenant synchroniser les elements du bureau sur la cle USB
@echo.
pause
@echo.
xcopy C:\Users\Tib\Desktop E:\Stage /d /e /h /y
@echo.
@echo Synchronisation terminee
@echo.
@echo off
pause
La c'est "en dur" comme on dit. Problème, il ne synchronise qu'un dossier spécifique (ici, Stage)
J'ai donc comme idée de faire la commande DIR E: au début afin de lister les dossiers de facon a ce qu'ils soient visibles par l'utilisateur, et ensuite de faire un "choice" ou un "set" avec des IF, etc...
Pourriez vous m'éclairer la dessus, je galère depuis hier
Merci d'avance!
Tib
J'ai récemment eu l'idée de me créer un petit fichier .bat qui aurait pour but de synchroniser les éléments de ma clé USB avec ceux de mon disque dur.
Pour être plus précis, voici un exemple:
Sur ma clé, il y a un dossier Musique et un dossier Stage
Lorsque je lance le batch, je voudrai avoir le choix du dossier a synchroniser avec le HDD (donc, c'est a l'utilisateur de saisir le nom du dossier)
j'ai fais ceci :
@echo Assistant de synchronisation des elements du dossier Stage du disque E:\ sur le bureau de votre ordinateur.
@echo.
@echo * Remarque: Les elements deja presents sur le bureau ne seront pas copies.*
@echo off
echo.
pause
@echo off
@echo.
@echo voici le contenu de la cle USB:
@echo.
dir E:
@echo off
@echo.
@echo Pour confirmer la synchronisation, appuyez sur une touche...
@echo off
@echo.
pause
@echo off
@echo.
@echo Copie des fichiers en cours...
@echo.
xcopy E:\Stage C:\Users\Tib\Desktop /d /e /h /y
@echo.
@echo Les elements ont bien ete copies vers le bureau.
@echo.
@echo Le programme va maintenant synchroniser les elements du bureau sur la cle USB
@echo.
pause
@echo.
xcopy C:\Users\Tib\Desktop E:\Stage /d /e /h /y
@echo.
@echo Synchronisation terminee
@echo.
@echo off
pause
La c'est "en dur" comme on dit. Problème, il ne synchronise qu'un dossier spécifique (ici, Stage)
J'ai donc comme idée de faire la commande DIR E: au début afin de lister les dossiers de facon a ce qu'ils soient visibles par l'utilisateur, et ensuite de faire un "choice" ou un "set" avec des IF, etc...
Pourriez vous m'éclairer la dessus, je galère depuis hier
Merci d'avance!
Tib
Autres pages sur : batch synchronisation cle usb hdd
Lassé par la pub ? Créez un compte
Salut,
Déjà met un @echo off au début, et enlève tout ces @ à chaque lignes
Ensuite pour faire un menu choix rien de plus simple.
Tu stokes dans une variables le choix et tu le repercute sur xcopy.
set /p menu=Donner le chemin du fichier taper entree :
xcopy "E:\%menu%" C:\Users\Tib\Desktop /d /e /h /y
Demandes des précisions, au cas ou j'aurais mal compris.
@+
Déjà met un @echo off au début, et enlève tout ces @ à chaque lignes
Ensuite pour faire un menu choix rien de plus simple.
Tu stokes dans une variables le choix et tu le repercute sur xcopy.
set /p menu=Donner le chemin du fichier taper entree :
xcopy "E:\%menu%" C:\Users\Tib\Desktop /d /e /h /y
Demandes des précisions, au cas ou j'aurais mal compris.
@+
Merci de ton attention
Voila je te postes le script largement modifié:
echo off
echo Assistant de synchronisation avec un périphérique externe
echo.
echo Remarque: Les elements deja presents ne seront pas copies
echo.
set /p ldisk=Quelle est la lettre du peripherique a synchroniser?
set /p destination=Quelle est la lettre de la partition de destination?
echo Le peripherique selectionne est %ldisk%:
echo La partition de destination est %destination%:
echo Pour lister le contenu du périphérique %ldisk%, appuyez sur une touche...
echo.
pause
echo.
dir %ldisk%:
echo off
echo.
set /p dossier=Quel dossier voulez vous synchroniser?
echo Vous avez choisi de synchroniser le dossier %dossier%
if not exist %destination%:\%dossier%
(mkdir %dossier%
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y)
else
(xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y)
echo.
xcopy %destination%:\%dossier% %ldisk%:\%dossier% /d /e /h /y
echo.
echo Synchronisation Terminee avec succes.
J'ai remarqué un problème au niveau du "else" (non reconnu) et il me dit aussi que le nombre de parametres est incorrect...
Merci
Voila je te postes le script largement modifié:
echo off
echo Assistant de synchronisation avec un périphérique externe
echo.
echo Remarque: Les elements deja presents ne seront pas copies
echo.
set /p ldisk=Quelle est la lettre du peripherique a synchroniser?
set /p destination=Quelle est la lettre de la partition de destination?
echo Le peripherique selectionne est %ldisk%:
echo La partition de destination est %destination%:
echo Pour lister le contenu du périphérique %ldisk%, appuyez sur une touche...
echo.
pause
echo.
dir %ldisk%:
echo off
echo.
set /p dossier=Quel dossier voulez vous synchroniser?
echo Vous avez choisi de synchroniser le dossier %dossier%
if not exist %destination%:\%dossier%
(mkdir %dossier%
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y)
else
(xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y)
echo.
xcopy %destination%:\%dossier% %ldisk%:\%dossier% /d /e /h /y
echo.
echo Synchronisation Terminee avec succes.
J'ai remarqué un problème au niveau du "else" (non reconnu) et il me dit aussi que le nombre de parametres est incorrect...
Merci
Salut,
Else n'est pas une commande batch
Remplace le par
if exist %destination%:\%dossier% (
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y
)
if not exist %destination%:\%dossier% (
mkdir %dossier% => Attention au dossier courant du batch !
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y
)
xcopy %destination%:\%dossier% %ldisk%:\%dossier% /d /e /h /y
echo.
echo Synchronisation Terminee avec succes..
J'espère que c'est bien ce que tu voulais, j'ai juste corriger la syntaxe et l'ordre des conditions (pour être plus logique.)
@+
Else n'est pas une commande batch
Remplace le par
if exist %destination%:\%dossier% (
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y
)
if not exist %destination%:\%dossier% (
mkdir %dossier% => Attention au dossier courant du batch !
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y
)
xcopy %destination%:\%dossier% %ldisk%:\%dossier% /d /e /h /y
echo.
echo Synchronisation Terminee avec succes..
J'espère que c'est bien ce que tu voulais, j'ai juste corriger la syntaxe et l'ordre des conditions (pour être plus logique.)
@+
Pour tout connaitre sur le batch, il faut voir mon tuto inutile.
http://www.infos-du-net.com/forum/271838-21-tuto-batch-debug-metaprogrammation-moteur-logiciel
http://www.infos-du-net.com/forum/271838-21-tuto-batch-debug-metaprogrammation-moteur-logiciel
Bonsoir!
Au final j'ai résolu le PB
je poste le script pour ceux que ca intéresserait
@echo off
echo Assistant de synchronisation avec un peripherique externe
echo.
echo Remarque: Les elements deja presents ne seront pas copies
echo.
set /p ldisk=Quelle est la lettre du disque d'origine?
set /p destination=Quelle est la lettre du disque de destination?
echo.
echo Le peripherique selectionne est %ldisk%:
echo La partition de destination est %destination%:
echo.
echo Pour lister le contenu du peripherique %ldisk%, appuyez sur une touche...
echo.
pause>nul
echo.
dir %ldisk%:
echo off
echo.
set /p dossier=Quel dossier voulez vous synchroniser?
echo Vous avez choisi de synchroniser le dossier %dossier%, pour valider, appuyez sur une touche...
echo.
pause>nul
echo.
if not exist %destination%:\%dossier% (
mkdir %destination%:\%dossier%
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y
) else (
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y
)
echo.
xcopy %destination%:\%dossier% %ldisk%:\%dossier% /d /e /h /y
echo.
echo Synchronisation Terminee avec succes le %date% a %time%
echo.
echo Tib and Ljnk co-op - 2010 ©
echo.
echo Fin du programme, appuyez sur une touche pour quitter...
pause>nul
Bonne soirée !
Au final j'ai résolu le PB
je poste le script pour ceux que ca intéresserait
@echo off
echo Assistant de synchronisation avec un peripherique externe
echo.
echo Remarque: Les elements deja presents ne seront pas copies
echo.
set /p ldisk=Quelle est la lettre du disque d'origine?
set /p destination=Quelle est la lettre du disque de destination?
echo.
echo Le peripherique selectionne est %ldisk%:
echo La partition de destination est %destination%:
echo.
echo Pour lister le contenu du peripherique %ldisk%, appuyez sur une touche...
echo.
pause>nul
echo.
dir %ldisk%:
echo off
echo.
set /p dossier=Quel dossier voulez vous synchroniser?
echo Vous avez choisi de synchroniser le dossier %dossier%, pour valider, appuyez sur une touche...
echo.
pause>nul
echo.
if not exist %destination%:\%dossier% (
mkdir %destination%:\%dossier%
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y
) else (
xcopy %ldisk%:\%dossier% %destination%:\%dossier% /d /e /h /y
)
echo.
xcopy %destination%:\%dossier% %ldisk%:\%dossier% /d /e /h /y
echo.
echo Synchronisation Terminee avec succes le %date% a %time%
echo.
echo Tib and Ljnk co-op - 2010 ©
echo.
echo Fin du programme, appuyez sur une touche pour quitter...
pause>nul
Bonne soirée !
Lassé par la pub ? Créez un compte
- Contenus similaires :
- SolutionsTelecharger wwe smackdown vs raw 2011 ps2 gratuit sur clè usb
- ForumHDD interne détecté comme étant USB
- SolutionsMa clé usb me demande de reformater comment récupérer mes données
- SolutionsComment mettre ubuntu sur ma clé USB 4go
- SolutionsImpossible de formater ma clé USB
- SolutionsClé USB pour vidéos
- SolutionsAucune reconnaissance de clé usb
- SolutionsClé usb problème de mémoire
- SolutionsInstalation d'ubuntu 10.10 sur clé usb
- Voir plus