Bonjour à tous,

Je vous expose mon problème : j'ai pour mission dans le cadre de mon travail de regrouper tous les fichiers photos ayant une extension .CR2 contenus sur tous les ordinateurs de la boite (63 pc) pour les transférer dans un dossier de sauvegarde situé sur un même et unique serveur. Le problème est que tous ces fichiers sont magistralement dispersés dans une multitude de dossiers/sous dossiers et que je crains d'avoir a y passer le reste de ma vie pour au final en oublier.

Je cherche donc pour éviter cela a réaliser un batch qui enverrait directement les fichiers .CR2 contenus sur les disques vers le serveur en question. (Tous les pc sont sous Windows)

J'ai trouvé plusieurs pistes sur le net mais mes faibles connaissances en la matière m’empêchent d'obtenir une syntaxe correcte.
Si vous avez une solution a mon problème je vous serai éternellement reconnaissant!

Voici le batch d'appel et celui de connexion au serveur que j'ai actuellement mais dont la syntaxe ne doit pas être correcte.

APPEL.bat:
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
@echo off
 
set SRCDIR=C:/
set TRG=/Sauvegardes
set FTPHOST=xx.xx.xx.xx
set FTPUSR=xxxxx
set FTPASS=xxxxx
 
 
for /F "delims=" %%a in ('dir /b /s C:\*.CR2') do 
set FILE="%%a"
call FTP_PUT.BAT %FTPHOST% %FTPUSR% %FTPASS% bin %SRCDIR% %TRG% 
 
%FILE%
if %RETVAL% EQU 0 GOTO STEP2
	echo Echec de l'envoi du fichier %FILE%
	pause

FTP_PUT.bat:
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 
@echo off
 
rem - PARAMETRES : 
rem - 		Serveur FTP cible
rem - 		User
rem - 		Password
rem - 		Mode: asci/bin
rem - 		Chemin du dossier source (local)
rem - 		Chemin du dossier cible (sur le serveur)
rem - 		masque des fichiers à envoyer
rem -
rem - VALEUR DE RETOUR :
rem -		RETVAL = 0 si OK, ou 1 sur erreur
rem 
 
-------------------------------------------------------------------
 
---------
   set v_FTP_ADR=%1
   set v_FTP_USR=%2
   set v_FTP_PWD=%3
   set v_FTP_MODE=%4
   set v_REP_SRC=%5
   set v_REP_DEST=%6
   set v_FIC_SRC=%7
 
   set v_REP_TMP=%TMP%
   set v_FIC_CMD=%v_REP_TMP%\FTP_PUT_%RANDOM%.tmp
   set v_FIC_RES=%v_REP_TMP%\FTP_PUT_%RANDOM%.tmp
rem 
 
-------------------------------------------------------------------
 
---------
   echo %0 %*
rem 
 
-------------------------------------------------------------------
 
---------
   echo open %v_FTP_ADR%                > %v_FIC_CMD%
   echo user %v_FTP_USR% %v_FTP_PWD%   >> %v_FIC_CMD%
   echo literal pasv                   >> %v_FIC_CMD%
   echo %v_FTP_MODE%                   >> %v_FIC_CMD%
   echo cd   %v_REP_DEST%              >> %v_FIC_CMD%
   echo mput %v_REP_SRC%\%v_FIC_SRC%   >> %v_FIC_CMD%
   echo by                             >> %v_FIC_CMD%
 
   FTP.EXE -i -n -v < %v_FIC_CMD%       > %v_FIC_RES%
 
   FIND "File successfully transferred" %v_FIC_RES% >NUL
   IF NOT ERRORLEVEL 1 GOTO :SUITE
   GOTO :ERR_BATCH
rem 
 
-------------------------------------------------------------------
 
---------
rem - Suppression des fichiers temporaires
rem 
 
-------------------------------------------------------------------
 
---------
:SUITE
   del %v_FIC_CMD%
   del %v_FIC_RES%
 
   SET RETVAL=0
   GOTO :FIN_BATCH
rem 
 
-------------------------------------------------------------------
 
---------
rem - Gestion des erreurs
rem 
 
-------------------------------------------------------------------
 
---------
:ERR_BATCH
   echo Erreur a l'envoi des fichiers %v_REP_SRC%\%v_FIC_SRC%
   type %v_FIC_CMD%
   type %v_FIC_RES%
   SET RETVAL=1
:FIN_BATCH