[batch] automatisation de copie avec gestion des doublons

automatisation de copie avec gestion des doublons [batch] - Shell/Batch - Programmation

Marsh Posté le 23-07-2008 à 17:22:33    

bonjour,
je vous expose mon problème:
Je vais me marier (non, je vous rassure, ce n'est pas cela mon problème !  :ange: ) et a cette occasion je voudrait mettre en place un borne de récupération des photos des invités:
grosso modo, l'idée c'est que mes invités puissent mettre leur carte dans le lecteur multi carte du pc, que tout les fichiers soient copiés sur l'ordi puis qu'à la fin un message signal a l'utilisateur qu'il peut reprendre sa carte.
c'est un pc sous windows xp, avec un lecteur multicarte intégré en facade.
la grosse difficulté, c'est de gérer les noms de fichiers en double: je voudrait que le batch renomme automatiquement le fichier s'il existe déja afin de garder toutes les copies.
Le tout doit être totalement transparent pour l'utilisateur, qui se contentera de mettre puis d'enlever sa carte.
pourriez vous m'aider? d'avance merci.

Reply

Marsh Posté le 23-07-2008 à 17:22:33   

Reply

Marsh Posté le 23-07-2008 à 18:30:53    

Pour détecter la présence de la carte je vois pas trop pour l'instant, sinon pour copier et gerer les fichiers en double :
 

Code :
  1. @echo off
  2. set dossier=c:\photos
  3. for /f "delims=" %%a in ('dir /a:d /b e:\') do call :copy "%%a"
  4. echo  Transfert terminee. Vous pouvez retirer votre carte et appuyer sur une touche
  5. pause > NUL
  6. exit
  7. :copy
  8. set fichier=%~1
  9. set nom=%~n1
  10. set ext=%~x1
  11. if not exist %dossier%\%fichier% copy e:\%fichier% %dossier%\%fichier%
  12. if exist %dossier%\%fichier% copy e:\%fichier% %dossier\%nom%_%time:~0,2%_%time:~3,2%.%ext%

Reply

Marsh Posté le 23-07-2008 à 18:33:20    

blastkiller a écrit :

Pour détecter la présence de la carte je vois pas trop pour l'instant


ca n'est pas un probleme ca, windows le gere bien
je teste ton script et j vous tiens au courant


Message édité par coyote76 le 23-07-2008 à 18:33:50
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed