Bonjour à tous.

Je me permet de venir vous solliciter car je galère un peu en script ...

En gros je dois récupérer des fichiers via un FTP et les copier sur un partage Windows.

On m'a mis à dispo un .exe pour lister les chemins des sauvegardes. Ce .exe me renvoi 4 lignes que j'ai mis dans un fichier texte LastBackup.txt

Dans ces 4 lignes il y a 4 chemin de fichiers du même nom sur 4 emplacements différents (Prod, Dev, backup France et backup UK).
Il me faut prendre que le fichier de Prod.

Le problème c'est que le chemin de l'emplacement de stockage des fichiers n'est pas forcement toujours le même. (Ça aurait été trop facile !)
Moi je n'y arrive que si le fichier était toujours sur la ligne 2


C'est sur qu'en VBScript ou Powershell ça pourrait être plus simple mais je ne suis pas bon dans ses langages de script.

Voila ce que j'ai fais. C'est pas forcement le mieux mais bon ...


Code : 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
*********************************
:------------------------------------------
:Contenu du fichier LastBackup.txt qui liste les sauvegardes (sur des serveurs différents)
:------------------------------------------
: MainDB, SRVWPH01, \\192.168.1.110\d$\BACKUP\SRVWPH01\MainDB\MainDB_231020120532.bak, FR, DEV
: MainDB, SRVWPH05, \\192.168.1.50\d$\BACKUP\SRVWPH05\MainDB\MainDB_231020120532.bak, FR, PROD
: MainDB, SRVWPH10, \\192.168.1.110\d$\BACKUP\SRVWPH10\MainDB\MainDB_231020120532.bak, FR, BACKUP
: MainDB, SRVWVM03, \\192.168.7.85\d$\BACKUP\SRVWVM03\MainDB\MainDB_231020120532.bak, UK, BACKUP
:------------------------------------------
:
:------------------------------------------
: Récupération du répertoire du FTP
:------------------------------------------
FOR /F "tokens=3 delims=, skip=1" %%G IN (LastBackup.txt) DO @echo%%G>>Files.txt
sed.exe "2,4d" Files.txt>full_URL.txt
del /F /Q Files.txt
FOR /F "tokens=2 delims=$" %%G IN (full_URL.txt) DO set f-url=%%G
set url=%f-url:~0,-23%
:------------------------------------------
: Récupération de l'IP du serveur FTP (CA pourrait être le 192.168.1.110, 192.168.1.50 ou le 192.168.7.85)
:------------------------------------------
FOR /F "tokens=1 delims=$" %%I IN (full_URL.txt) DO set f-FTP=%%I
set FTP=%f-FTP:~2,-2%
del /F /Q full_URL.txt
:------------------------------------------
: Création du fichier de connexion et d'action sur le FTP (Copie de la sauvegarde sur un serveur en 192.168.2.10)
:------------------------------------------
echo open %FTP%>FTP.ftp
echo UserFTP>>FTP.ftp
echo P@ssW0rD>>FTP.ftp
echo prompt>>FTP.ftp
echo lcd \\192.168.2.10\d$\Deposit>>FTP.ftp
echo cd %url%>>FTP.ftp
echo mget *.bak>>FTP.ftp
echo quit>>FTP.ftp
ftp -s:FTP.ftp>\\192.168.2.10\d$\Deposit\Transfert_OK.txt
del .\FTP.ftp
*********************************
J'aurais besoin de sélectionner la ligne pour extraire l'URL en fonction de la fin en FR, PROD.
La ligne n'est pas toujours la N°2 et pas forcement sur le serveur en 192.168.1.50.

Merci de l'aide que vous pourrez m'apporter !


Toto